使用Mysql联合索引减少 create sort index 和filesort ,提高 order by 性能的案例和优化方法

总结:如果使用 where `index_1` + order by `index_2` 的情况下,可能会引起 using filesort ,可通过 explain 查看,mysql将会先取出数据,然后在内存中生成临时文件并排序。如果大量的这种查询,会导致CPU占用过高。优化方法即增加联合索引,直接读取索引就可以得到顺序,不需要临时排序。联合索引的顺序需要与查询语句中的顺序一致!如  where `index_1` = ?& 阅读全部

【转载】一个MySQL 5.7.18分区表性能下降的案例分析与排查

作者介绍姜宇祥,2012年加入携程,10年数据库核心代码开发经验,相关开发涉及达梦、MySQL数据库。现致力于携程MySQL的底层研发,为特殊问题定位和处理提供技术支持。本文来自携程技术中心公众号(id:ctriptech),经同意授权转载。 前言:希望通过本文,使MySQL5.7.18的使用者知晓分区表使用中存在的陷阱,避免在该版本上继续踩坑。同时通过对源码的分享,升级MySQL5.7.18时分区表性能下降的根本原因,向MySQL源码爱好者展示分区表实现中锁的运用。 问题描 阅读全部

Ubuntu中Mysql 5.7的open_files_limit默认值过小导致的server has gone away问题解决

Mysql 5.7的open_files_limit 默认值为 1024,连接数过多和打开表,都会占用这个值。问题:MySQL server has gone away原因:open_files_limit默认值过小,导致mysql报错:Too many open files,进而mysql停止服务。其它很多情况都会引起 gone away ,具体情况需要查询mysql的错误日志,本文主要解决由 open_files_limit 值引起的问题。解决步骤:第1步、修改 mysq 阅读全部

MySQL 百万级-千万级分页优化

 少量翻页使用:SELECT * FROM table ORDER BY id LIMIT 1000, 10; 优化型翻页:SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIMIT 10; 超快速优化页:SELECT * FROM table WHERE id BE

阅读全部

mysql服务性能优化—my.cnf_my.ini配置说明详解(16G内存)

 此配置是某生产线上使用的配置,在培训的时候,他给的,我在这里,对各参数添加了中文说明

这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话,可以直接使用该配置参数

... 阅读全部