MySql教程

mysql调优总纲

本文主要是介绍mysql调优总纲,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

对于开发者而言,对MySQL的调优重点一般是在「开发规范」、「数据库索引」又或者说解决线上慢查询上。规范上只要有查询需求都应该建索引。【坑】

  • 是否能使用覆盖索引减少回表【坑】所消耗的时间。意味着,我们在select 的时候,一定要**指明对应的列,而不是select ***。

  • 考虑是否组建联合索引,如果组建联合索引,尽量将区分度最高的放在最左边,并且需要考虑最左匹配原则。【坑】

  • 对索引进行函数操作或者表达式计算会导致索引失效

  • 利用子查询优化超多分页场景。比如 limit offset , n 在MySQL是获取 offset + n的记录,再返回n条。而利用子查询则是查出n条,通过ID检索对应的记录出来,提高查询效率。

  • 通过explain命令来查看SQL的执行计划,看看自己写的SQL是否走了索引,走了什么索引。通过show profile 来查看SQL对系统资源的损耗情况(不过一般还是比较少用到的)

  • 在开启事务后,在事务内尽可能只操作数据库,并有意识地减少锁的持有时间(比如在事务内需要插入&&修改数据,那可以先插入后修改。因为修改是更新操作,会加行锁。如果先更新,那并发下可能会导致多个事务的请求等待行锁释放)

这篇关于mysql调优总纲的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!