SHOW CREATE TABLE my_table_name;
SHOW TABLE STATUS LIKE '%my_table_name%';
# 所有信息
SELECT
*
FROM
INFORMATION_SCHEMA.PARTITIONS
WHERE
TABLE_SCHEMA = 'my_db_name' # 库名
AND TABLE_NAME = 'my_table_name'; # 表名
# 常用信息
SELECT
PARTITION_METHOD,
PARTITION_NAME,
PARTITION_EXPRESSION,
PARTITION_DESCRIPTION,
TABLE_ROWS
FROM
INFORMATION_SCHEMA.PARTITIONS
WHERE
TABLE_SCHEMA = SCHEMA() # 库名
AND TABLE_NAME = 'my_table_name'; # 表名
【KEY 分区】
可参考这篇文章:MySQL之KEY分区引发的血案
经测试,在 MySQL 5.7.26、MariaDB 10.4.6 下,分区个数为偶数时,奇数编号分区数据条数仍然为0。
CREATE TABLE my_table_name (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(20)
)
PARTITION BY KEY()
PARTITIONS 11; # 11 个分区
CREATE TABLE my_table_name (
name VARCHAR(20)
)
PARTITION BY KEY(name)
PARTITIONS 11; # 11 个分区
ALTER TABLE my_table_name
PARTITION BY KEY()
PARTITIONS 11;
【相关阅读】
*** walker ***