存储引擎的区别
MySQL存储引擎中的MyISAM和InnoDB:https://www.biaodianfu.com/mysql-myisam-innodb.html
MySQL分支的选择:Percona还是MariaDB:https://www.biaodianfu.com/mysql-percona-or-mariadb.html
看到一个博客,专做mysql优化:http://imysql.com
该网站还可以生成优化过的my.cnf文件
具体的优化配置,有时间再整理。
MyISAM存储引擎
MYSQL默认的table_open_cache为64,这个数值是偏小的,如果max_connections较大,则容易引起性能问题。
在数据量很大的表中,有时会报错,如:ERROR '...' not found (errno: 23)或者 Can't open file: ... (errno: 24)
表现:数据库查询效率慢,show processlist 发现比较多的查询正在opening table。
打开表的缓存 ---> table_open_cache
表定义的缓存 ---> table_definition_cache
# 修改可以修改配置文件
table_open_cache = 16384
table_definition_cache = 16384
巧用这19条MySQL优化,效率至少提高3倍
https://mp.weixin.qq.com/s/Z3Juad9pz33EWiKAH7ZgzA
MYSQL explain详解
https://blog.csdn.net/zhuxineli/article/details/14455029
参考:
https://www.linuxidc.com/Linux/2013-06/86630.htm
http://blog.sina.com.cn/s/blog_48d4cf2d0102vxg4.html
不得不告诉大家的 MySQL 优化“套路”
索引
MySQL 索引设计概要:https://mp.weixin.qq.com/s/6BkHQO_xohQsN2gba-V8uw
自增列作为主键、索引能提高效率、B+树索引和哈希索引的区别、哈希索引的优势、哈希索引不适用的场景、B树和B+树的区别、MySQL联合索引、什么情况下应不建或少建索引、表分区与分表的区别...
慢SQL问题经验总结
https://mp.weixin.qq.com/s/p0bqxRYkTAxUHeutA53Zpg
从读写分离到CQRS、Sharding(分库分表)
https://mp.weixin.qq.com/s/TKnFxcz3OEeEv2eobSLaBQ
大厂在用的分库分表方案,都在这了!:https://mp.weixin.qq.com/s/i2eXbU1xrqJY51ETIPs0dw
MySQL高性能优化实战总结
https://mp.weixin.qq.com/s/oS57PB2coco3kkUMyrgbEQ
程序员老鸟写sql语句的经验之谈
https://mp.weixin.qq.com/s/MAfMzmU9O0SCIeKAMZmONA
为什么要使用索引?
https://mp.weixin.qq.com/s/afEJm1_cWKQqGoMbqvjkBw
https://mp.weixin.qq.com/s/FhxmeLDM6ZlJS73xWoHljw
一份非常完整、详细的MySQL规范
https://mp.weixin.qq.com/s/JeR8fFgZYTIAscmNhjSKjg
评论区