查看表的创建命令SHOW CREATE TABLE my_table_name;查看表是否分区(Create_options 字段为 partitioned 或空)SHOW TABLE STATUS LIK
查看表的创建命令
SHOW CREATE TABLE my_table_name;
查看表是否分区(Create_options 字段为 partitioned 或空)
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 分区】
有主键时创建 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 个分区
无主键时创建 key 分区
CREATE TABLE my_table_name (
name VARCHAR(20)
)
PARTITION BY KEY(name)
PARTITIONS 11; # 11 个分区
对于已有表进行分区,建议新建分区表,再导入数据;也可以用 ALTER 语句修改表:
ALTER TABLE my_table_name
PARTITION BY KEY()
PARTITIONS 11;
【相关阅读】
Mysql/MariaDB Tips
*** walker ***
--结束END--
本文标题: MySQL/MariaDB 分区
本文链接: https://lsjlt.com/news/42385.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0