MYSQL性能优化
常用5种方式
- 1、最大连接数优化
方法1:
修改my.ini文件(永久修改) - 2、启用查询缓存
特别注意:查询缓存从MySQL 5.7.20开始已被弃用,并在MySQL 8.0中被删除。、- 一种说法是不建议使用查询缓存,因为查询缓存往往弊大于利。查询缓存的失效非常频繁,只要有对一个表的更新,这个表上的所有的查询缓存都会被清空。因此很可能你费劲地把结果存起来,还没使用呢,就被一个更新全清空了。对于更新压力大的数据库来说,查询缓存的命中率会非常低。除非你的业务有一张静态表,很长时间更新一次,比如系统配置表,那么这张表的查询才适合做查询缓存。
- 3、引擎优化
MyISAM存储引擎:
场景:如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。
优点:MyISAM引擎能提供较高的查询效率,适用于对数据进行频繁查询操作的数据表(InnoDB提供提交、回滚、崩溃恢复能力及并发控制能力,适用于对数据更新操作频率高的数据表) - 4、索引优化
这里是便于查询可以设置索引,让查询效率变高.
聚合索引按照从左到右的匹配原则。也就是必须先匹配ID才能匹配name查询。
全文检索的查询方式:
SELECT * FROM article WHERE MATCH(title, content) AGAINST('查询字符串')
全文索引只适合MyISAM引擎的数据表。并且只能对英文进行检索 - 5、SQL语句优化
SQL优化的重心是查询优化,查询优化的重心是建立索引。所以查询优化主要是避免出现导致索引失效的查询。
①避免在索引列上出现null。
②不要在索引列上进行算术运算。:select age+1 from user
③避免实现!=或者<>、is null或者is not null、in等可能导致全表遍历的操作。
④模糊查询只能使用右边%。
⑤where语句后尽可能少用小括号、或者不要出现小括号嵌套小括号。