如何分析慢查询?
SELECT * FROM warning_event 2. 确认服务器层是否分析了大量超过所需的行。 如何判断?估算响应时间、扫描的行数和返回的行数(EXPLAIN) SELECT * FROM warning_event WHERE assailant_id=1 EXPLAIN SELECT 1 FROM warning_event WHERE event_code=’1′ limit 1; +————-+——+——+——+————-+ | select_type | type | ref | rows | Extra | +————-+——+——+——+————-+ | SIMPLE | ALL | NULL | 285 | Using where | +————-+——+——+——+————-+ event_code增加索引 +————-+——+——-+——+————————–+ | select_type | type | ref | rows | Extra | +————-+——+——-+——+————————–+ | SIMPLE | ref | const | 1 | Using where; Using index | +————-+——+——-+——+————————–+ SHOW FULL PROCESSLIST 比较重要的一个字段:State Query:正在执行查询或者发送数据到客户端 Locked:等待锁 Analyzing and statistics:收集统计信息,生成查询执行计划 Copying to tmp table [on disk]:正在执行的查询将结果集放到临时表中,GROUP BY操作、文件排序操作、UNION操作,on disk这个临时表在硬盘上 Sorting result:对结果集进行排序 (责任编辑:IT) |