MySql教程

MySql 优化过程心得(持续更新)

本文主要是介绍MySql 优化过程心得(持续更新),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1)紧急处理

因为有时候线上出现用户交互响应慢,经分析是后端数据库耗时较长或甚至没有响应。此时就需要我们紧急处理:
多查看几次进程列表,观察可疑情况

show full processlist;
mysql -uroot -pdb193_root -e "show full processlist" |egrep -vi "sleep"

2)日常日志预防

慢查询日志记录

long_query_time = 2 #(超过2秒记录)

没有走索引记录

log_queries_not_using_indexes
log-show-queries = /data/3306/show.log #(文件目录)

3)大表不能在高峰期间建立索引

在建立索引的时候要对表进行全表的扫描工作
在对建立索引的时候要对表进行加锁,因此应当注意操作在业务空闲的时候进行
建议停用服务(此表相关的)然后呢可以将表中数据转移到临时表,然后在空表上建立索引,完成之后再将数据重新insert到索引表中 ,这样会好些

4)SQL_NO_CACHE

其实,SQL_NO_CACHE的真正作用是禁止缓存查询结果,但并不意味着cache不作为结果返回给query。*** 说白点就是,不是本次查询不使用缓存,而是本次查询结果不做为下次查询的缓存。*** 那在这里我们用它来干吗呢?

explain select SQL_NO_CACHE * from test1 where name = 'wesley'

当然是用这个标记来分析我们通过建立索引前后:查询、修改,删除等操作的性能是否提高,或者它的提高程度 。

这篇关于MySql 优化过程心得(持续更新)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!