MySQL/MariaDB分区-创新互联

  • 查看表的创建命令

    成都创新互联-专业网站定制、快速模板网站建设、高性价比曲水网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式曲水网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖曲水地区。费用合理售后完善,10多年实体公司更值得信赖。
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 ***

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:MySQL/MariaDB分区-创新互联
网页路径:http://ybzwz.com/article/cocsij.html