Раздел таблицы на столбце без даты - PullRequest
0 голосов
/ 27 марта 2019

Как я могу разбить таблицу в oracle на столбец без даты (скажем, раздел на имя пользователя)?У меня есть разделение таблицы только по столбцам даты. Скажем:

CREATE TABLE X
(
Username Varchar2(10 Char),
Import_date Date
)
PARTITION BY RANGE ("IMPORT_DATE") INTERVAL (NUMTODSINTERVAL(1,'DAY')) 
 (PARTITION "CL_REP_DEF"  VALUES LESS THAN 
     (TO_DATE(' 2018-06-29 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
)

Хотя я не уверен, как разделить имя пользователя здесь.

1 Ответ

2 голосов
/ 27 марта 2019

Oracle предлагает три типа разделов:

  • Диапазон
  • Hash
  • Список

Вы можете использовать любой из них.
Выбор типа разбиения зависит от данных, хранящихся в таблице, и значений столбца (столбцов). Если количество различных значений в столбце (столбцах) ограничено и известно, то тип LIST будет лучшим выбором.

Что касается вашего случая, я думаю, что раздел HASH подходит больше всего. Вот пример того, как вы можете разбить таблицу X:

CREATE TABLE X
(
Username Varchar2(10 Char),
Import_date Date
) PARTITION BY HASH(Username) PARTITIONS 16; -- 16 is the number of partitions.

Подробнее о разбиении вы можете узнать из официальной документации Oracle .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...