一,什么是mysql分表,分区

什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法

什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,具体请参考mysql分区功能详细介绍,以及实例

二,mysql分表和分区有什么区别呢

1,实现方式上

a),mysql的分表是真正的分表,一张表分成很多表后,每一个小表都是完正的一张表,都对应三个文件,一个.MYD数据文件,.MYI索引文件,.frm表结构文件。

Sql代码

[root@BlackGhost test]# ls |grep user

alluser.MRG

alluser.frm

user1.MYD

user1.MYI

user1.frm

user2.MYD

user2.MYI

user2.frm

简单说明一下,上面的分表呢是利用了merge存储引擎(分表的一种),alluser是总表,下面有二个分表,user1,user2。他们二个都是独立的表,取数据的时候,我们可以通过总表来取。这里总表是没有.MYD,.MYI这二个文件的,也就是说,总表他不是一张表,没有数据,数据都放在分表里面。我们来看看.MRG到底是什么东西

Sql代码

[root@BlackGhost test]# cat alluser.MRG |more

user1

user2

#INSERT_METHOD=LAST

从上面我们可以看出,alluser.MRG里面就存了一些分表的关系,以及插入数据的方式。可以把总表理解成一个外壳,或者是联接池。

b),分区不一样,一张大表进行分区后,他还是一张表,不会变成二张表,但是他存放数据的区块变多了。

Sql代码

[root@BlackGhost test]# ls |grep aa

aa#P#p1.MYD

aa#P#p1.MYI

aa#P#p3.MYD

aa#P#p3.MYI

aa.frm

aa.par

从上面我们可以看出,aa这张表,分为二个区,p1和p3,本来是三个区,被我删了一个区。我们都知道一张表对应三个文件.MYD,.MYI,.frm。分区呢根据一定的规则把数据文件和索引文件进行了分割,还多出了一个.par文件,打开.par文件后你可以看出他记录了,这张表的分区信息,根分表中的.MRG有点像。分区后,还是一张,而不是多张表。

2,数据处理上

a),分表后,数据都是存放在分表里,总表只是一个外壳,存取数据发生在一个一个的分表里面。看下面的例子:

select * from alluser where id='12'表面上看,是对表alluser进行操作的,其实不是的。是对alluser里面的分表进行了操作。

b),分区呢,不存在分表的概念,分区只不过把存放数据的文件分成了许多小块,分区后的表呢,还是一张表。数据处理还是由自己来完成。

3,提高性能上

a),分表后,单表的并发能力提高了,磁盘I/O性能也提高了。并发能力为什么提高了呢,因为查寻一次所花的时间变短了,如果出现高并发的话,总表可以根据不同的查询,将并发压力分到不同的小表里面。磁盘I/O性能怎么搞高了呢,本来一个非常大的.MYD文件现在也分摊到各个小表的.MYD中去了。

b),mysql提出了分区的概念,我觉得就想突破磁盘I/O瓶颈,想提高磁盘的读写能力,来增加mysql性能。

在这一点上,分区和分表的测重点不同,分表重点是存取数据时,如何提高mysql并发能力上;而分区呢,如何突破磁盘的读写能力,从而达到提高mysql性能的目的。

4),实现的难易度上

a),分表的方法有很多,用merge来分表,是最简单的一种方式。这种方式根分区难易度差不多,并且对程序代码来说可以做到透明的。如果是用其他分表方式就比分区麻烦了。

b),分区实现是比较简单的,建立分区表,根建平常的表没什么区别,并且对开代码端来说是透明的。

三,mysql分表和分区有什么联系呢

1,都能提高mysql的性高,在高并发状态下都有一个良好的表面。

2,分表和分区不矛盾,可以相互配合的,对于那些大访问量,并且表数据比较多的表,我们可以采取分表和分区结合的方式(如果merge这种分表方式,不能和分区配合的话,可以用其他的分表试),访问量不大,但是表数据很多的表,我们可以采取分区的方式等。

mysql 分表和分区_Mysql分表和分区的区别相关推荐

  1. mysql分表的原则_mysql分表规则(转)

    author:skate time:2013/05/14 Mysql分表准则 在大量使用mysql时,数据量大.高访问时,为了提高性能需要分表处理,简介下mysql分表的标准,后续会继续补充 环境: ...

  2. mysql分表的原则_Mysql分表准则

    Mysql分表准则 在大量使用mysql时,数据量大.高访问时,为了提高性能需要分表处理,简介下mysql分表的标准,后续会继续补充 环境: 业务类型:OLTP 硬件: cpu:8cpu 2.4GHZ ...

  3. mysql 分表 条件查询_mysql分表+查询

    最近面试,问到关与mysql数据库的分表一些问题,如设计一个千万级别的会员数据库,当时想到了分表,但是当问到如何跟据username查询到用户的信息时,这时,有点卡住了,所以为了让自已重新认识分表,而 ...

  4. mysql横向分区_MySQL 横向表分区之RANGE分区小结

    MySQL 横向表分区之RANGE分区小结 by:授客 QQ:1033553122 目录 简介 mysql表分区--RANGE分区,属于横向分区.举例说,假如有100条数据,分成十份,前10条数据放到 ...

  5. mysql range代表什么意思_MySQL数据表range分区例子

    某些行业数据量的增长速度极快,随着数据库中数据量的急速膨胀,数据库的插入和查询效率越来越低.此时,除了程序代码和查询语句外,还得在数据库的结构上做点更改:在一个主读辅写的数据库中,当数据表数据超过10 ...

  6. mysql取出数据外键_mysql数据表有外键,应注意的几点(目前学习所获得的经验)...

    mysql : 1.有做外键的表子表和父表的引擎要一致才能添加数据:否则报外键约束错误 2.数据 类型要一致,不然添加补了 外键: 3.InnoDB和 myisam的区别(来源:PHP100中文网) ...

  7. mysql 多表查询 优化_Mysql 多表联合查询效率分析及优化

    1. 多表连接类型 1. 笛卡尔积(交叉连接)在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如: SELECT * FROM table1 CROSS JOI ...

  8. mysql建表的规则_MYSQL建表规则 - Love彼岸花开的个人空间 - OSCHINA - 中文开源技术交流社区...

    建立表规约 [强制]表名.字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只 出现数字.数据库字段名的修改代价很大,因为无法进行预发布,所以字段名称需要慎重考虑. 说明:MySQL ...

  9. mysql多表查询练习_MySQL多表查询综合练习答案

    一.综合练习 1.1 init.sql文件内容 /* 数据导入: Navicat Premium Data Transfer Source Server : localhost Source Serv ...

最新文章

  1. 【深度学习入门到精通系列】使用Plotly绘制气泡图(以U-Net等网络性能比较为例)
  2. 雅虎对提升网站性能的最佳实践(英文)
  3. log4j记录不同的日志_使用log4j将不同类型的日志信息记录到不同的文件中
  4. ajax请求后无法实现指定页面跳转或带参数跳转
  5. python如何实现人工智能应用锁_如何清除应用锁的数据库
  6. 属性动画基础之ValueAnimator
  7. 智领云荣登“中国大数据企业50强” | 2020大数据产业生态大会盛大召开 智领云斩获多项殊荣
  8. 用linux集成电路版图设计,集成电路版图设计报告.doc
  9. textaligncenter仍然不居中_5个word你不知道的功能
  10. CocosCreator2.3.1按钮节点防止多次连续点击
  11. js解压gzip(解决RangeError: Maximum call stack size exceeded)
  12. scada系统远程服务器,scada服务器是什么,scada系统的作用
  13. HTML实现可编辑下拉框
  14. 1.DLL注入相关概念
  15. mysql 获取某个时间段每一天、每一个小时的统计数据
  16. 利用c语言结构体实现通讯录
  17. PHP笔记01:PHP基本语法格式
  18. 树莓派挂载硬盘以及播放视频
  19. 图形化开发(六)01-Three.js之导入模型——3dmax和SketchUp-editor编辑器导出json文件,在创建模型initMesh中外部的JSON文件
  20. Oracle一个语句多个left,oracle 多个 left join

热门文章

  1. 百度seo html,百度seo需要什么技术
  2. 概率图模型(3)朴素贝叶斯分类
  3. 小米2s稳定版刷开发版方法
  4. 海雀AI全景摄像头生成的v264格式流媒体文件播放方法
  5. 概率论与数理统计---排列组合
  6. InSAR学习(五)高级的InSAR技术:PS技术和SBAS技术
  7. ML机器学习算法(一): 基于逻辑回归的分类预测
  8. 2.CA一维元胞自动机(netlogo)
  9. windows桌面待办事项_怎么在电脑上添加一款桌面提醒便签小软件提高办公效率...
  10. “绿色单文件版UltroISO 未能找到虚拟光驱 ”的解决办法