有更合适的索引不走,怎么办?
MySQL在选取索引时,会参考索引的基数,基数是MySQL估算的,反映这个字段有多少种取值,估算的策略为选取几个页算出取值的平均值,再乘以页数,即为基数
查看索引基数
show index from table_name
使用force index可以强制使用索引
重新统计索引信息,会重新计算索引的基数
analyze table
count 语句慢,如何解决?
count(非索引字段):无法使用覆盖索引,最慢
count(索引字段):可以使用覆盖索引但依然要取出数据判空
count(1):不需要取出数据,但需要判断1是否为null
count(*):经过专门优化,不需要判空,理论最快
获取不到数据库连接
查看超时释放
show variables where variable_name like '%timeout'
查看链接数
show processlist
show full processlist
查看最大连接数文章来源:https://www.toymoban.com/news/detail-838096.html
show variables like '%max_connections%'
修改最大连接数文章来源地址https://www.toymoban.com/news/detail-838096.html
set GLOBAL max_connections = 200;
到了这里,关于MySQL实战:SQL优化及问题排查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!