最近写了个小爬虫发现数据量到100w的时候查询特别慢mysqld进程cpu占用飙升决定排查下原因
进入mysql命令行输入
show variables like '%slow_query%';
发现slow_query_log 没被启用
执行set global slow_query_log=1 后成功打开慢日志文件
打开慢日志文件之后发现慢查询的语句
# Query_time: 10.550767 Lock_time: 0.389428 Rows_sent: 1 Rows_examined: 30587
use clj_spider;
SET timestamp=1516672565;
select * from urls where status = 0 and lock_status=0 limit 1;
这条语句查询了10秒以上
给status和lock_status加了个联合索引之后不在引发慢日志输出