MySQL/MariaDB分区

  • 查看表的创建命令

    创新互联主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、自适应网站建设、程序开发、网站优化、微网站、成都小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都做网站、成都网站设计、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

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 ***


网站题目:MySQL/MariaDB分区
分享URL:http://hxwzsj.com/article/jhdcod.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都商城网站建设 成都网站设计 成都网站设计 重庆网站建设 广安网站设计 定制网站制作 企业网站制作 泸州网站建设 网站制作公司 网站设计 成都网站建设 成都模版网站建设 网站制作 成都网站设计 重庆网站建设 成都网站设计 重庆外贸网站建设 梓潼网站设计 高端网站设计 专业网站设计 成都网站制作 成都网站制作