位置: 编程技术 - 正文

什么是分表和分区 MySql数据库分区和分表方法(什么是分表分库)

编辑:rootadmin

推荐整理分享什么是分表和分区 MySql数据库分区和分表方法(什么是分表分库),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:什么是分表计电,分表的好处,分表的好处,分表是什么意思,分表的好处,分表是什么意思,分表方式,什么是分表分库,内容如对您有帮助,希望把文章链接给更多的朋友!

1、为什么要分表和分区

日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。

2、什么是分表和分区

2.1 分表

分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可以称为子表,每个表都对应三个文件,MYD数据文件,.MYI索引文件,.frm表结构文件。这些子表可以分布在同一块磁盘上,也可以在不同的机器上。app读写的时候根据事先定义好的规则得到对应的子表名,然后去操作它。

2.2 分区

分区和分表相似,都是按照规则分解表。不同在于分表将大表分解为若干个独立的实体表,而分区是将数据分段划分在多个位置存放,可以是同一块磁盘也可以在不同的机器。分区后,表面上还是一张表,但数据散列到多个位置了。app读写的时候操作的还是大表名字,db自动去组织分区的数据。 分区的主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。

2.3 mysql分表和分区有什么联系呢?

1)、都能提高mysql的性能,在高并发状态下都有一个良好的表现。2)、分表和分区不矛盾,可以相互配合的,对于那些大访问量,并且表数据比较多的表,我们可以采取分表和分区结合的方式,访问量不大,但是表数据很多的表,我们可以采取分区的方式等。3)、分表技术是比较麻烦的,需要手动去创建子表,app服务端读写时候需要计算子表名。采用merge好一些,但也要创建子表和配置子表间的union关系。4)、表分区相对于分表,操作方便,不需要创建子表。

3、分表的几种方式

3.1 mysql集群

它并不是分表,但起到了和分表相同的作用。集群可分担数据库的操作次数,将任务分担到多台数据库上。集群可以读写分离,减少读写压力。从而提升数据库性能。

3.2 自定义规则分表

大表可以按照业务的规则来分解为多个子表。通常为以下几种类型,也可自己定义规则。

Range(范围)?这种模式允许将数据划分不同范围。例如可以将一个表通过年份划分成若干个分区。Hash(哈希)?这中模式允许通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区。例如可以建立一个对表主键进行分区的表。Key(键值)?上面Hash模式的一种延伸,这里的Hash Key是MySQL系统产生的。List(预定义列表)?这种模式允许系统通过预定义的列表的值来对数据进行分割。Composite(复合模式)?以上模式的组合使用 

分表规则与分区规则一样,在分区模块详细介绍。

下面以Range简单介绍下如何分表(按照年份表)。

什么是分表和分区 MySql数据库分区和分表方法(什么是分表分库)

假设表结构有4个字段:自增id,姓名,存款金额,存款日期 把存款日期作为规则分表,分别创建几个表 年:account_ 年:account_ …… 年:account_ app在读写的时候根据日期来查找对应的表名,需要手动来判定。

3.3 利用merge存储引擎来实现分表

merge分表,分为主表和子表,主表类似于一个壳子,逻辑上封装了子表,实际上数据都是存储在子表中的。

我们可以通过主表插入和查询数据,如果清楚分表规律,也可以直接操作子表。

子表年

子表年

主表,所有年

创建主表的时候有个INSERT_METHOD,指明插入方式,取值可以是:0 不允许插入;FIRST 插入到UNION中的第一个表; LAST 插入到UNION中的最后一个表。

通过主表查询的时候,相当于将所有子表合在一起查询。这样并不能体现分表的优势,建议还是查询子表。

4、分区的几种方式

4.1 Range

4.2 List

4.3 Hash

4.4 key

4.5 分区管理

4.5.1 新增分区

4.5.2 删除分区

当删除了一个分区,也同时删除了该分区中所有的数据。

4.5.3 合并分区

下面的SQL,将p - p 合并为3个分区pQ1 - pQ3

标签: 什么是分表分库

本文链接地址:https://www.jiuchutong.com/biancheng/350101.html 转载请保留说明!

上一篇:navicat连接mysql时出现1045错误的解决方法

下一篇:MySQL使用innobackupex备份连接服务器失败的解决方法(Mysql使用or如何优化)

  • 企业所得税季报和年报的区别
  • 房开企业涉及哪些税种
  • 安全生产费实际发生必须是付款吗还是挂帐也可以
  • 什么企业不用交社保
  • 小企业会计准则和一般企业会计准则的区别
  • 银行存款可以红字吗
  • 员工培训的费用按照多少钱计入安措费
  • 进项税额有留底怎么做分录
  • 事业单位补发以后的工资
  • 企业减免的所得税税率
  • 固定资产缩水
  • 土地增值税扣除系数
  • 存货成本包括消费吗
  • 个体工商户核定应税所得率
  • 退款扣除的手续费怎么查
  • 电子税务局一般纳税人申请流程
  • 企业税审要钱吗
  • 201金8税盘抵扣期限是多久?
  • 销售百分比法计算步骤
  • 未开发票申报
  • 原料采购入库检测损耗的会计处理怎么做?
  • 二季度所得税申报时间
  • 广播影视服务需要交文化事业建设费吗
  • 跨省经营如何缴纳流转税?
  • 怎么恢复系统win10
  • 个体工商户怎么交社保
  • 打开软件窗口后如果没有出现属性面板可执行
  • 住房公积金扣除标准为每月
  • 以公允价值计量的投资性房地产
  • 现金付款没收据怎么入账
  • 无形资产可以占多少比例
  • word表格跨页设置
  • php参数过滤封装类
  • uefiu盘安装系统步骤win10
  • linux统计文件行数字数
  • 绿萝怎么养才能爬藤
  • 工程物资发生报废损毁
  • 破产企业发放工资怎么算
  • 现金流量表的编报时间有
  • /etc/php-fpm.d/www.conf 配置注意事项
  • php返回数据给ajax
  • 女方结婚申请
  • firewall enable
  • 待抵扣进项税额是什么情况下用的
  • 非居民纳税人工资个人所得税税率
  • day11-Servlet01
  • sql2008安装出现以下错误
  • 开具增值税专用发票的承诺书
  • 银行汇票用什么会计分录
  • 个税出现负数是什么意思
  • 深圳税务2021
  • 公司法人怎么样才会没有责任
  • 合伙企业税务处理办法
  • 工资与社保缴纳不一致
  • 现金回收率怎么计算
  • 厂家给经销商的活动方案怎么写
  • 怎么去银行买承兑
  • 企业购买房产缴纳房产税
  • 跨月的发票开错了该怎么办?
  • 购入固定资产中的增值税
  • 固定资产盘点基本情况
  • 业务招待费是销售
  • 营业执照怎么换地址
  • 对账簿设置的要求是什么
  • 电脑百度搜索
  • 强制关闭mac系统的快捷键
  • linux环境和常用命令
  • cortanawin10在哪
  • OS X Yosemite系统怎么制作u盘安装盘
  • shell检查语法错误
  • win8.1锁屏壁纸设置
  • opengl光线跟踪代码
  • unityxlua热更新方案
  • js定义数字
  • shell读取文本内容到变量
  • 使用jQuery制作动画与特效及插件的应用
  • 北京顶点b128怎么样
  • 江苏电子税务局网站官网
  • 怎么查询公司法人电话号码
  • 非法印制发票的后果
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设