文档章节

MySQL 对于大表(千万级),要怎么优化

八戒_o
 八戒_o
发布于 2016/01/07 09:14
字数 477
阅读 471
收藏 13

提到优化,先要确定出现的问题,是存储引擎选择问题,还是sql语句使用问题(如:索引)亦或者是单一存储服务器对于千万级别的数据力不从心。
解决方法:
1、根据不同业务选用不同存储引擎,虽然一般情况下都优先选择InnoDB。

mysql两种存储引擎的区别:

     MyISAM                Innodb 

事物支持 :   不支持                     支持 

锁的粒度:    table                      Row 

存储容量:    没有上限                   64TB 

哈希索引 :   不支持                     支持 

全文索引:    支持                       不支持 

外键:        不支持                     支持 


2、分析sql语句的影响结果集。查慢查询日志,定位慢查询的sql语句,查看是否有锁定的sql操作。
3、分库,分表,分区(慎用分区,往往OLTP操作不适用分区,分区反倒会拖慢原有查询)
4、利用缓存或NoSql代替现有一些热点查询操作,减轻Mysql压力
分库:
可以基于业务逻辑拆分,不同业务分布在不同服务器中,减少单一服务器压力
分表:
垂直分表和水平分表两种方式
垂直分表:将表中的一些频繁更新和非频繁更新的字段分开存放
水平分表,三种分表方式:
均等分表,哈希方式分表,优点是负载平均分布,缺点是当容量持续增加时扩荣不方便,需要重新分表,主键就很不好处理。
递增分表,比如每一千万数据开一个新表,优点是自适应强,缺点是数据负载不均衡,需要代码层额外处理。

时间分表,根据不同的创建时间分表,适用于OLAP应用。

参照 http://my.oschina.net/ifeixiang/blog/339581


本文转载自:http://my.oschina.net/ifeixiang/blog/339581

共有 人打赏支持
八戒_o
粉丝 22
博文 123
码字总数 43412
作品 0
成都
程序员
私信 提问
mysql 优化实例(百万级数据)

MySql 这个数据库绝对是适合dba级的高手去玩的,一般做一点1万篇新闻的小型系统怎么写都可以,用xx框架可以实现快速开发。可是数据量到了10万,百万至千万,他的性能还能那么高吗?一点小小的...

tantexian
2016/04/22
310
0
mysql--------大数据量分页sql语句优化

分页程序原理很简单,这里就不多说了,本篇文章主要说的是在数据表记录量比较大的情况下,如何将分页SQL做到更优化,让MySQL执行的更快的方法。 一般的情况下,我们的分页SQL语句是这样的: ...

切切歆语
01/25
0
0
【MySQL】——MySQL的优化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fjj15732621696/article/details/82805342 经常会问到MySQL如何优化,可以考虑从三个方面优化:索引优化、sql...

DD_Davina
09/22
0
0
数据进一步优化篇:千万级数据下的Mysql优化

前言 平时在写一些小web系统时,我们总会对mysql不以为然。然而真正的系统易用应该讲数据量展望拓展到千万级别来考虑。因此,今天下午实在是无聊的慌,自己随手搭建一个千万级的数据库,然后...

hansonwong
11/20
0
0
记录JAVA单线程处理千万级数据表的过程

记录JAVA单线程处理千万级数据表的过程 要求:原表有4000w+数据,需要对其中message字段进行数据处理,并将处理的结果写入result字段中 优化:分表,sql的优化 过程: 最开始是啥都不懂,打算...

qq_34594123的博客
2017/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

idea 删除代码的注释

搜索栏使用 正则表达式搜索 (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/|[ \t]*//.*) 会搜索出来所有注释的代码 用空格replace替换掉就可以了。 或者搜索 (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\...

时刻在奔跑
12分钟前
0
0
eclipse maven 项目运行mvn clean 后无法运行

错误: 错误:找不到或无法加载主类com.yyy.test.Main 解决方法: “project” --"Clean" 参考链接:https://jingyan.baidu.com/article/cbcede07107d9802f40b4dff.html...

qimh
16分钟前
0
0
崛起于Springboot2.X之集成工作流Activiti5.22(42)

声明:该博客主要是Springboot1.X和Springboot2.X集成Activiti5.22版本,并说一下两个版本的搭建不同的地方 技术:Springboot2.0.3+mysql+jpa(自动生成25张表)+Activiti5.22 /然后Springboo...

木九天
27分钟前
3
1
windows环境下搭建rabbitMQ开发环境

windows环境下搭建rabbitMQ开发环境 下载与安装 erlang rabbitmq 是使用erlang语言开发的,所以需要erlang环境; 下载地址 rabbitmq 下载地址 rabbitmq与erlang版本关系 下载之后直接安装即可...

晨猫
38分钟前
2
0
JVM 中的守护线程

特点 通常由JVM启动 运行在后台处理任务,比如垃圾回收等 用户启动线程执行结束或者JVM结束时,会等待所有的非守护线程执行结束,但是不会因为守护线程的存在而影响关闭。 判断线程是否为守护...

小刀爱编程
42分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部