https://segmentfault.com/a/1190000006158186

https://tech.meituan.com/mysql-index.html

http://www.cnblogs.com/wajika/p/6713636.html

使用索引,减少列,减少连接操作,精简数据类型和约束条件。

  去除重复索引

    重复索引使数据库需要做更多工作保持数据和索引一致性,且消耗磁盘空间,导致备份和恢复所需时间增加。

  去除没有被使用的索引或者无效索引

  改进索引

  减少SQL语句

    把多条ALERT语句整合成一条SQL语句是一种简单的优化

  简化SQL语句

    使用连接代替子查询

  缓存选项

    MySQL查询缓存可能会让写操作多与读操作的业务产生退化,对给定的表的任何改变,都会导致与该表相关的缓存失效。

  在应用程序缓存

优化完之后需要验证,优化效果是否会随着数据容量增加而退化。

show status like 'innodb_buffer%';
show status like 'Qcache%';
select * from information_schema.processlist;
show engine INNODB status;
show variables like 'query_cache%';
set profiling = 1;
select * from student where id = 1;
show profiles;
show profile for query 1;

OR改写成INOR的效率是n级别,IN的效率是log(n)级别,in的个数建议控制在200以内

对于连续数值,使用BETWEEN不用INSELECT id FROM t WHERE num BETWEEN 1 AND 5

列表数据不要拿全表,要使用LIMIT来分页,每页数量也不要太大

mysql大表优化的更多相关文章

  1. 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结

    本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言   MySQL作为开源技术的代表作之一,是 ...

  2. MySQL 大表优化方案(长文)

    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...

  3. 详解MySQL大表优化方案( 转)

    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...

  4. MySQL 大表优化方案探讨

    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...

  5. MySQL大表优化方案

    转:https://segmentfault.com/a/1190000006158186?hmsr=toutiao.io&utm_medium=toutiao.io&utm_sour ...

  6. MySQL 大表优化方案

    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...

  7. MySQL大表优化方案 Mysql的row_format(fixed与dynamic)

    转自:https://mp.weixin.qq.com/s/VY69wWlrVLjRtKU7ULrYGw 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除 ...

  8. 详解MySQL大表优化方案

    单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的.而事实上很多时 ...

  9. mysql 大表优化

    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 转自:https://segmentfault.com/a/1190000006158186 单表优化 除非单表数据未 ...

随机推荐

  1. ubuntu16安装及嵌入式开发环境搭建

    1.Ubuntu虚拟机新建好要安装vmware tools才能共享文件夹,解压安装tar zxf VMwareTools-10.0.10-4301679.tar.gz ,回车键,解压该文件. 解压完毕 ...

  2. load-display-image之c#版

    基本功能 能够从文件load图像 -->显示图像-->在图像上方显示graphics,比如几条线-->鼠标移动,显示鼠标位置的灰度 load-display-image之c#版 lo ...

  3. 【转】linux下解压.bz2压缩文件

    原文网址:http://zhidao.baidu.com/question/90378903.html tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压 ...

  4. php设计模式:单例模式

    前些日子开始着真正的去了解下设计模式,开始么,简单地从单例模式开始,当然网上看了一些资料,单例模式比较好理解,看看介绍,然后看看代码基本也就能够理解了,设计模式这些的花点心思基本的是能够理解的,当然要 ...

  5. Microsoft Dynamics CRM4.0 创建单据的时候,自动生成单据编号的通用方法

    一.新建两个实体,具体如下: 单据流水号(new_maxbillcode) 显示名称 名称 类型 格式 最大长度 需求级别 IME模式 备注 名称 new_name nvarchar 文本 100 业 ...

  6. Ushare共享流媒体

    一. 支持USB 参考: http://wenku.baidu.com/link?url=K_uAp4QEa2cX3nPMkbc-colCAHA1yBwo1JCYsZf-qR7AVFPkmpbBVYR ...

  7. <dedecms>织梦内页调用会员信息

    1.织梦CMS v5.7调用文章所属会员信息标签 打开官方默认模板article_artcile.htm,我们可以提取出如下代码:  {dede:memberinfos}   会员头像:<a h ...

  8. FPGA配置方式

    FPGA有多种配置/加载方式.粗略可以分为主动和被动两种.主动加载是指由FPGA控制配置流程,被动加载是指FPGA仅仅被动接收配置数据. 最常见的被动配置模式就是JTAG下载bit文件.此模式下,主动 ...

  9. Mac 配置多jdk 随意切换

    1下载安装 jdk6:https://support.apple.com/kb/DL1572?locale=zh_CN 2配置环境变量 open .bash_profile export PATH=$ ...

  10. 实验十一 C的指针

    指针编程 11.1 #include<stdio.h> int main() { ]={,,,,,,,,,},i,*p,sum=; ],i=;i<;i++,p++) { ==) su ...