我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL/MariaDB 分区

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL/MariaDB 分区

  • 查看表的创建命令

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


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL/MariaDB 分区

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MariaDB和MySQL之间有什么区别

MariaDB和MySQL是两种关系型数据库管理系统,它们之间有以下几个区别:开发者:MariaDB是MySQL的一个分支,由MySQL的原始开发者创建,因此两者在很多方面非常相似。然而,MariaDB有自己的开发团队和社区支持,所以在一些
MariaDB和MySQL之间有什么区别
2024-04-09

MySQL/MariaDB读写分离配置

实现数据库读写分离技术是有很多方法的,在这里我就用一个比较简单的mysql-proxy这个中间件来实现数据库的读写分离; 使用mysql-proxy实现mysql的读写分离,mysql-proxy实际上是作为后端mysql主从服务器的代理,它直接接受客户端的请
MySQL/MariaDB读写分离配置
2021-01-12

MariaDB与MySQL的主要区别是什么

本篇内容主要讲解“MariaDB与MySQL的主要区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MariaDB与MySQL的主要区别是什么”吧!主要区别介
2023-03-10

MariaDB与MySQL之间的区别有哪些

MariaDB是MySQL的一个分支,两者具有相似的特性和功能,但也有一些区别:许可证:MariaDB使用GNU通用公共许可证,而MySQL使用Oracle推出的专有许可证。这意味着MariaDB是开源的,而MySQL在某些方面有商业限制。
MariaDB与MySQL之间的区别有哪些
2024-04-09

mysql分区表:日期分区

mysql分区表:日期分区 1.创建分区表2.查看分区3.添加分区4.存储过程:分区删除与创建5.事件定时6.触发器设计:子表每插入一行,总表获得一行7.创建索引8.添加枚举型字段 1.创建分区表 CREATE TAB
2023-08-21

技术分享 | MariaDB 10.1.9 迁移到 MySQL 5.7.25

作者:秦广飞爱可生 DBA 团队成员,负责项目日常问题处理及公司平台问题排查,对数据库有兴趣,对技术有想法。一入 IT 深似海,从此节操是路人。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。背景客户环境数据库目
技术分享 | MariaDB 10.1.9 迁移到 MySQL 5.7.25
2015-04-25

MariaDB中如何进行分区表设计和管理

在MariaDB中,分区表是指将一张表分割成多个独立的子表,每个子表称为一个分区。分区表可以提高查询性能、数据管理和维护的效率。以下是在MariaDB中进行分区表设计和管理的步骤:创建分区表:在创建表的时候,可以通过PARTITION B
MariaDB中如何进行分区表设计和管理
2024-04-09

编程热搜

目录