2012-01-18 4 views
0

У меня есть таблица с миллионами строк в ней, и она занимает много времени, чтобы извлекать данные из нее во время запроса. Я попытался разбить его на основе даты. У меня есть следующая таблица с именами столбцов какПерегородка таблицы в Oracle

ERROR_IND 
FEED_ID 
QUEUE_ID 
FEED_DT_TM-- Date datatype. 

Я попытался с помощью пакета переопределение, доступные в Oracle, чтобы разделить его, но ничего не вышло. Пожалуйста, предоставьте мне эффективный способ разбиения таблицы.

+4

Как вы это понимаете, не работает? Какие сообщения об ошибках вы получаете? – Sathya

+0

возможно, сначала прочитайте документы Oracle (http://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm). Как вы получаете доступ к данным, во многом будет определяться ваш подход к разделению (диапазон разделенных будет моим догадком из того, что вы опубликовали). – tbone

ответ

3

Таблица не может быть пересмотрена, если:

  • они материализованные представления или журналы материализованного представления на них
  • они содержат BFILE, LONG RAW или LONG столбцов
  • они принадлежат SYS или SYSTEM
  • база данных находится в режиме NOLOGGING
  • они носят временный характер или кластерный

Вызов DBMS_REDEFINITION.CAN_REDEF_TABLE подтвердит, подходит ли ваш стол.

Следуйте за этим link за хорошее руководство по разделению существующего стола на DBMS_REDEFINITION.