2013-06-06 2 views
0

У меня возникли проблемы с пониманием этого. Может быть, кто-то может помочь, пожалуйста.Oracle Partitioning and Indexes

Кто попросил меня, чтобы создать таблицу, которая должна быть разделена как два уровня:

1 - Время 2 Место -.

Он должен иметь глобальный инвертированный индекс от клиента. Это моя самая большая проблема. Что такое глобальный инвертированный индекс?

Вот структура таблицы (она уже создана):

CREATE TABLE MY_TABLE 
(
TIME   DATE, 
LOCATION  NUMBER, 
CUSTOMER_ID NUMBER, 
CUSTOMER_NAME VARCHAR2(200) 
); 

(и некоторые другие столбцы ...)

Как мне это сделать? Спасибо заранее.

+0

Глобальный инвертированный индекс связан с поиском текста. Я очень мало знаю об этом, поэтому я не могу помочь дальше [этой ссылке] (http://docs.oracle.com/cd/B28359_01/text.111/b28303/overview.htm) в документах Oracle Text. В третьей главе рассматриваются индексы. –

ответ

1
CREATE TABLE my_table 
(
    a_time  DATE, 
    a_location NUMBER, 
    customer_id NUMBER, 
    customer_name VARCHAR2(200) 
) 
PARTITION BY RANGE (a_time) 
SUBPARTITION BY LIST (a_location) 
(
    PARTITION p_20130101 VALUES LESS THAN (TO_DATE('2013-01-01', 'YYYY-MM-DD')) 
    (
     SUBPARTITION a_location_1_1 VALUES (1), 
     SUBPARTITION a_location_1_2 VALUES (2), 
     SUBPARTITION a_location_1_3 VALUES (3) 
    ), 
    PARTITION p_20130201 VALUES LESS THAN (TO_DATE('2013-02-01', 'YYYY-MM-DD')) 
    (
     SUBPARTITION a_location_2_1 VALUES (1), 
     SUBPARTITION a_location_2_2 VALUES (2), 
     SUBPARTITION a_location_2_3 VALUES (3) 
    ), 
    PARTITION p_20130301 VALUES LESS THAN (TO_DATE('2013-03-01', 'YYYY-MM-DD')) 
    (
     SUBPARTITION a_location_3_1 VALUES (1), 
     SUBPARTITION a_location_3_2 VALUES (2), 
     SUBPARTITION a_location_3_3 VALUES (3) 
    ) 
) 
ENABLE ROW MOVEMENT; 

Oracle инвертированные индексы предназначены для строк и столбцов в таблице в виде числа (my_table_idx). Я бы рекомендовал регулярный индекс.

CREATE INDEX my_table_idx ON my_table(customer_id); 
+0

Большое спасибо !!! : D – Yaroze