案例:
一次在一个项目中有两张表数据比较庞大(线上)
一个是操作日志表:
A 4819556条 插入,修改,查询较多,老的记录查询可能较少,
一个是接口调用表:
B 60719333条 插入和查询频繁
数据量都比较大,这次采用的数据库优化方案是分区。
分区和分表的区别和联系是啥?
分区和分表的目的都是提升数据库的访问性能,而对于应用来说,分区用的是数据库的技术,只要知道表名,应用无需知道数据是放在哪个分区。
分表的话,要做出对应的路由规则,根据分表的KEY键才能知道数据是放在哪个表上。
所以查询的时候,SQL的条件语句最好是带上分区健,这样的话在查询的时候相对效率会高效一些
在做出分区或分表的判断上,一般来说,如果平时访问的量不是特别大,表结构变更也不多,而且历史数据很少访问的情况下,可能会做成分区表,这样平时基本上只要访问最近的分区段,还有利用老数据的清理。
分表一般是数据量非常大,而且访问上没有绝对的热点,基本上所有的数据都有可能会访问到,为了查询的性能和平时DDL的快速会采用分表的方法。
我们这次的分区是是按创建时间来分区的 ,两张表是半年一个分区.那么在查询的SQL中是要求带入创建时间作为where条件的,这样的话可以调高效率。
分享到:
相关推荐
MySQL分表和分区最佳攻略 word版本,
常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致...分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率。
mysql分表,分区的区别与联系借鉴.pdf
mysql分表,分区的区别与联系归类.pdf
mysql分表,分区的区别与联系[定义].pdf
MySQL分区分表方案实践手册 MySQL分区分表方案实践手册 MySQL分区分表方案实践手册 MySQL分区分表方案实践手册 仅供个人学习, 禁止转载及其他商业用途.
一、什么是mysql分表和分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上 二、mysql分表和...
主要介绍了MySQL分表和分区的具体实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致...分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常点来讲就是提高表的增删改查效率
主要为大家详细介绍了MySql数据库分区和分表方法,告诉大家什么是分表和分区,mysql分表和分区有什么联系,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
当一个表数据记录过大时就会出现性能瓶颈,而一般对应的解决办法是要么做分区表,要么分表,分区表就不说了,分表又分为垂直分割和水平分割,具体区 别请自行搜索。一般而言,分库分表属于水平分割,按照一定的规则...
其中有每个命令的使用说明与注释。并增加了清理数据的方式。以及导入输入的注意事项
表分区是最近才知道的哦 ,以前自己做都是分表来实现上亿级别的数据了,下面我来给大家介绍一下mysql表分区创建与使用吧,希望对各位同学会有所帮助。表分区的测试使用,主要内容来自于其他博客文章以及mysql5.1的...
MySQL分区和分表技术总结.docx
HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。separated DATE NOT NULL D
当一个表数据记录过大时就会出现性能瓶颈,而一般对应的解决办法是要么做分区表,要么分表,分区表就不说了,分表又分为垂直分割和水平分割,具体区 别请自行搜索。一般而言,分库分表属于水平分割,按照一定的规则...
MySQL 分区和分表的干货总结.doc