tencent cloud

TDSQL-C for MySQL

columns 構文

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-30 16:14:39

機能説明

columns構文はテーブルの列情報をクエリするために使用されます。

サポートバージョン

カーネルバージョン TXSQL 8.0 3.1.15 以降。

適用シーン

カラム情報が多く、クエリパフォーマンスの向上が必要なシナリオに適用されます。

使用説明

List columnsの構文

columns は単一の列です。
CREATE TABLE `t1` (
`id` int DEFAULT NULL,
`purchased` varchar(12) DEFAULT NULL,
KEY `idx` (`id`,`purchased`) GLOBAL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
PARTITION BY RANGE (`id`)
SUBPARTITION BY LIST COLUMNS (`purchased`)
SUBPARTITION TEMPLATE
(SUBPARTITION s0 VALUES IN ('0', '1', '2') ENGINE = InnoDB,
SUBPARTITION s1 VALUES IN ('5', '6', '8') ENGINE = InnoDB)
(PARTITION p0 VALUES LESS THAN (1990) ,
PARTITION p1 VALUES LESS THAN (1999));
columns が複数列です。
CREATE TABLE `t2` (
`id` int DEFAULT NULL,
`purchased` varchar(12) DEFAULT NULL,
KEY `idx` (`id`,`purchased`) GLOBAL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
PARTITION BY RANGE (`id`)
SUBPARTITION BY LIST COLUMNS (`purchased`, `id`)
SUBPARTITION TEMPLATE
(SUBPARTITION s0 VALUES IN (('0', 1), ('1', 1), ('2', 1995)) ENGINE = InnoDB,
SUBPARTITION s1 VALUES IN (('5' ,5), ('6', 6)) ENGINE = InnoDB)
(PARTITION p0 VALUES LESS THAN (1990) ,
PARTITION p1 VALUES LESS THAN (1999));

Range columnsの構文

columns は単一の列です。
CREATE TABLE `t3` (
`id` int DEFAULT NULL,
`purchased` varchar(12) DEFAULT NULL,
KEY `idx` (`id`,`purchased`) GLOBAL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
PARTITION BY RANGE (`id`)
SUBPARTITION BY RANGE COLUMNS (`purchased`)
SUBPARTITION TEMPLATE
(SUBPARTITION s0 VALUES LESS THAN ('5') ENGINE = InnoDB,
SUBPARTITION s1 VALUES LESS THAN ('8') ENGINE = InnoDB)
(PARTITION p0 VALUES LESS THAN (1990) ,
PARTITION p1 VALUES LESS THAN (1999));
columns が複数列です。
CREATE TABLE `t4` (
`id` int DEFAULT NULL,
`purchased` varchar(12) DEFAULT NULL,
KEY `idx` (`id`,`purchased`) GLOBAL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
PARTITION BY RANGE (`id`)
SUBPARTITION BY RANGE COLUMNS (`purchased`, `id`)
SUBPARTITION TEMPLATE
(SUBPARTITION s0 VALUES LESS THAN ('5', 55) ENGINE = InnoDB,
SUBPARTITION s1 VALUES LESS THAN ('8', 88) ENGINE = InnoDB)
(PARTITION p0 VALUES LESS THAN (1990) ,
PARTITION p1 VALUES LESS THAN (1999));

サポートされている columns のデータ型

サポートされている columns データ型については、公式ドキュメントをご参照ください。

簡略化説明

セカンダリパーティションのプルーニング方法はプライマリパーティションのプルーニングと同様であり、かつ独立しています。つまり、プライマリプルーニングではwhere条件内のパーティションキーパートをフィルタリングしてプルーニング後のパーティション集合s1を取得し、セカンダリプルーニングではwhere条件内のサブパーティションキーパートをフィルタリングしてプルーニング後のサブパーティションテンプレート集合s2を取得します。最終結果として、s1内の各s2が選択されます。

制限の説明

新しく追加されたパラメータ txsql_subpartition_support_multiple_columns は複数列の使用を制限します。オフの場合は単一列構文のみを許可し、オンの場合は複数列および単一列構文を許可します。
パラメータ名
動的
タイプ
デフォルト
パラメータ値の範囲
説明
txsql_subpartition_support_multiple_columns
yes
bool
OFF
OFF/ON
複数列の使用を制限し、オフの場合は単一列構文のみを許可し、オンの場合は複数列および単一列構文を許可します。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック