2016-03-08 4 views
0

мне нужно создать составной partitionning в MariaDB диапазона/списке, в Oracle команда:MariaDB композитных перегородки

CREATE TABLE t1 (
    id Integer, 
    pdateid Integer) 
TABLESPACE tbs_t1 
PARTITION BY RANGE (pdateid) 
    SUBPARTITION BY LIST (id) 
    SUBPARTITION TEMPLATE 
    (
     SUBPARTITION SP1 VALUES (1,2), 
     SUBPARTITION SPDEF VALUES (DEFAULT) 
    ) 
(
    PARTITION APR_2015 VALUES LESS THAN (3043) tablespace tbs_t1_APR, 
    PARTITION MAY_2015 VALUES LESS THAN (3074) tablespace tbs_t1_MAY 
) ; 

1-что может быть синтаксисом для одной и тех же команд в MariaDB, и как указать хранилище для разделов (например: tbs_t1_APR)? 2 - какой механизм хранения следует выбирать в этом случае для лучшей производительности? 3-какая команда дает шаблон партитона?

Thanks

ответ

0

Резюме: Забудьте о синтаксисе Oracle; попали в книги по синтаксису MySQL/MariaDB. Есть много отличия.

Детали:

NUMBER(*,0) - Может быть, вы хотите INT?

3043 недействительное значение для данного типа данных DATE; '2016-03-08' есть.

SUBPARTITIONs бесполезны для работы; забыть о них.

«Табличные пространства» практически бесполезны в MySQL/MariaDB; не беспокойтесь о них.

PARTITION BY RANGE (TO_DAYS(partid))may быть полезным вам. У вас будет хотя бы миллион строк? Будете ли вы отбрасывать «старые» данные? Можете ли вы использовать около 20-60 разделов?

Если вы ищете другие предметы в разбивке; забудь это. Это, вероятно, не стоит преследовать.

Посмотрим на SELECTs, вы попадете в стол. (Это может дать некоторые подсказки о том, где взять дискуссию.)

+0

Привет, Джеймс, это дата ИД (номер дня с контрольной даты - 01/01/2006). Да, это большой стол и его необходимо очистить старые данные. необходимо сформулировать ту же команду в MySql/Mariadb, уже иметь разделение в базе данных Oracle .thanks – dbabti

+0

Мой совет по очистке старых данных: [мой блог] (http://mysql.rjweb.org/doc.php/partitionmaint) , –

+0

'INTEGER' ==' INT' - 4-байтовый номер от -2 миллиардов до +2 миллиарда. Этого достаточно? –

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