製品アップデート
製品お知らせ
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name(create_definition,...)[table_options][partition_options]partition_options:PARTITION BY{ [LINEAR] HASH(expr)| [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list)| RANGE{(expr) | COLUMNS(column_list)}| LIST{(expr) | COLUMNS(column_list)} }[PARTITIONS num][SUBPARTITION BY{ [LINEAR] HASH(expr)| [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list) }[SUBPARTITIONS num]][SUBPARTITION BY{ RANGE{(expr)} -- rangeセカンダリパーティションテンプレート| LIST{(expr)} -- LISTセカンダリパーティションテンプレートSUBPARTITION TEMPLATE [(subpartition_definition [, subpartition_definition] ...)]} -- サブパーティションテンプレート][(partition_definition [, partition_definition] ...)]subpartition_definition:SUBPARTITION logical_name[VALUES{ LESS THAN {(expr | value_list) | MAXVALUE} -- Rangeサブパーティション範囲| IN (value_list)}] -- Listサブパーティション範囲[[STORAGE] ENGINE [=] engine_name][COMMENT [=] 'string' ][DATA DIRECTORY [=] 'data_dir'][INDEX DIRECTORY [=] 'index_dir'][MAX_ROWS [=] max_number_of_rows][MIN_ROWS [=] min_number_of_rows][TABLESPACE [=] tablespace_name]
CREATE TABLE `t1` (`id` int DEFAULT NULL,`purchased` int DEFAULT NULL,KEY `idx` (`id`,`purchased`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci/*!50100 PARTITION BY RANGE (`id`)SUBPARTITION BY RANGE (`purchased`)SUBPARTITION TEMPLATE(SUBPARTITION s0 VALUES LESS THAN (10) ENGINE = InnoDB,SUBPARTITION s1 VALUES LESS THAN (20) ENGINE = InnoDB)(PARTITION p0 VALUES LESS THAN (10) ENGINE = InnoDB,PARTITION p1 VALUES LESS THAN (20) ENGINE = InnoDB,PARTITION p2 VALUES LESS THAN (30) ENGINE = InnoDB) */;
-- セカンダリパーティションのサポートALTER TABLE tbl_name[alter_option [, alter_option] ...][partition_options] [subpartition_options] -- subpartition_optionsが追加されました。subpartition_options:subpartition_option [subpartition_option] ...subpartition_options: {MODIFY PARTITION partition_name TRUNCATE SUBPARTITION TEMPLATE subpartition_template_name; -- パーティションpartition_name内のテンプレート名subpartition_template_nameを持つサブパーティションをTRUNCATEします。| TRUNCATE SUBPARTITION TEMPLATE subpartition_template_name -- subpartition_template_nameのセカンダリパーティションをTRUNCATEします。| ADD SUBPARTITION TEMPLATE subpartition_definitions -- subpartition_definitionsテンプレートが追加されました。| DROP SUBPARTITION TEMPLATE subpartition_template_name -- subpartition_template_nameのセカンダリパーティションを削除します。}―― プライマリパーティションDDLALTER TABLE t1 TRUNCATE p0 WITH GLOBAL INDEX; -- p0パーティションをTRUNCATEする(サブパーティションが存在する場合、その下のすべてのサブパーティションをTRUNCATEします)
-- セカンダリパーティション DDLALTER TABLE t1 MODIFY PARTITION p0 TRUNCATE SUBPARTITION TEMPLATE s1; -- セカンダリパーティションp0_s1をTRUNCATEする(プライマリパーティションp0、サブパーティションテンプレート名s1)ALTER TABLE t1 TRUNCATE SUBPARTITION TEMPLATE s1; -- すべてのパーティション内のサブパーティションで、名称のサフィックスが_s1であるものはすべてTRUNCATEされます。ALTER TABLE t1 ADD SUBPARTITION TEMPLATE (SUBPARTITION s2 values in (1,2,3,4)); -- すべてのパーティションに、サフィックスが_s2であるサブパーティションが追加されます。ALTER TABLE t1 DROP SUBPARTITION TEMPLATE s2; -- すべてのパーティションから、サフィックスが_s2であるサブパーティションが削除されます。―― プライマリパーティション DDLALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES LESS THAN (20)); -- パーティションを追加します。t1がセカンダリパーティションテーブルの場合、デフォルトでテンプレートを使用してサブパーティションを生成します。ALTER TABLE t1 DROP PARTITION p1;ALTER TABLE t1 TRUNCATE p0 WITH GLOBAL INDEX; -- p0パーティションをTRUNCATEする(サブパーティションが存在する場合、その下のすべてのサブパーティションをTRUNCATEします)
フィードバック