2014-12-17 2 views
3

У меня есть TABLE1 в табличном пространстве TS1. У меня есть другое табличное пространство TS2.Команда команды «Переместить таблицу» - ORACLE

В чем разница между тремя ниже

  1. ALTER TABLE table1 MOVE NOLOGGING PARALLEL;

  2. ALTER TABLE TABLE1 MOVE TABLESPACE TS1 NOLOGGING PARALLEL;

  3. ALTER TABLE TABLE1 MOVE TABLESPACE TS2 NOLOGGING PARALLEL;

Заранее спасибо ..

ответ

5

Согласно Database SQL Language Reference:

move_table_clause позволяет передислоцировать данные несекционированной таблицы или разбиения секционированной таблицы в новый сегмент, необязательно в другом табличном пространстве и, возможно, модифицировать любые его атрибуты хранения.

Таким образом, с первого оператора Oracle будет переместить таблицу в новый сегмент на том же табличном пространстве, в то время как в двух других заявлений Oracle будет переместить таблицу в новый сегмент на указанном табличном пространстве (соответственно TS1 и TS2).

Если TABLE1 уже находится в табличном пространстве TS1, тогда первая и вторая команды будут выполнять одно и то же действие.

Использование MOVE без изменения табличного пространства просто реорганизует сегмент в исходном табличном пространстве.

+0

Marco .. Первый из них просто перемещается. Во-вторых, перемещение в одно и то же табличное пространство, которое существует в таблице. Третье - перемещение в другое табличное пространство. В чем разница между 1 и 2? Я перешел в новый проект .. В нем используется первый. Он значительно сокращает пространство табличного пространства после выполнения. Но хотите знать, как он отличается от 2? В чем преимущество? – GKN

+0

@GKN Я расширил свой ответ –

+0

Спасибо Марко .. Если у вас есть какая-либо ссылка на этот ..обличный ресурс .. Это очень мне поможет – GKN

Смежные вопросы