个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈
18.1 用命令抓取慢 SQL 语句,然后用 explain 命令查看查询语句是否走的索引查询
1 在数据库命令行里面操作
mysql> show full processlist;
+----+------+-----------+--------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+--------+---------+------+-------+-----------------------+
| 13 | root | localhost | oldboy | Query | 0 | NULL | show full processlist |
+----+------+-----------+--------+---------+------+-------+-----------------------+
1 row in set (0.00 sec)
2 在 linux 命令行操作
[root@mysql 3306]# mysql -u root -ppcwangjixuan -S /mysqldata/3306/mysql.sock -e "show fullprocesslist"|grep -vi "sleep"
Id UserHostdb Command Time StateInfo
15 root localhost NULL Query 0 NULL show full processlist
18.2 设置配置参数记录慢查询语句
log_query_time = 2 <==查询时间超过 2 秒,记录到 log 里
log_queries_not_using_indexs <==没有走索引的语句,记录到 log 里
log-slow-queries = /data/3306/slow.log
18.3 对抓取到的慢查询语句用 explain 命令检查索引执行情况
例如:
explain select * from test where name=’oldboy’\G;
18.4 对需要建索引的条件列建立索引
大表不能高峰值建立索引,300 万记录
18.5 切割慢查询日志,去重分析后发给大家
关于 mysql 的配置文件参数设置(my.cnf)
[mysqld]
long_query_time = 1
log-slow-queries = /data/3306/slow.log
log_queries_not_using_indexs
关于日志切割脚本
mv /data/3306/slow.log /opt/$(date +%F)_slow.log
mysqladmin –uroot –ppcwangjixuan –S /data/3306/mysql.sock flush-logs
附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读/书籍书单大全:
(点击右侧 即可打开个人博客内有干货):技术干货小栈
=====>>①【Java大牛带你入门到进阶之路】<<====
=====>>②【算法数据结构+acm大牛带你入门到进阶之路】<<===
=====>>③【数据库大牛带你入门到进阶之路】<<=====
=====>>④【Web前端大牛带你入门到进阶之路】<<====
=====>>⑤【机器学习和python大牛带你入门到进阶之路】<<====
=====>>⑥【架构师大牛带你入门到进阶之路】<<=====
=====>>⑦【C++大牛带你入门到进阶之路】<<====
=====>>⑧【ios大牛带你入门到进阶之路】<<====
=====>>⑨【Web安全大牛带你入门到进阶之路】<<=====
=====>>⑩【Linux和操作系统大牛带你入门到进阶之路】<<=====
天下没有不劳而获的果实,望各位年轻的朋友,想学技术的朋友,在决心扎入技术道路的路上披荆斩棘,把书弄懂了,再去敲代码,把原理弄懂了,再去实践,将会带给你的人生,你的工作,你的未来一个美梦。