order by + limit 改写优化

order by +limit 常用于分页功能。本案例中,用ID列进行排序,除了查询ID列外,还查询了value和stuffing列。这种情况容易出现性能问题或者不是性能最优的SQL写法。

测试中发现,如果t_limit为MySIAM。很容易出现性能问题,执行计划走全表扫描不走索引。 现在几乎不用MySIAM,所以本文测试结果基于I

Read more

MySQL慢查询日志 – Slow Query Log

The Slow Query Log,也就是MySQL的慢查询日志,其记录了执行时间超过设定值的SQL,也可以记录不使用索引的SQL语句。慢查询日志,能够帮助DBA快速锁定性能异常的SQL语句,然后进行优化工作,以保障MySQL数据库的正常运行。 慢查询日志记录了两部分SQL: 1、SQL查询时间超过变量 long_query_time 设定值,默认10秒。 2、SQL返回行数大于 min_exa

Read more

mysqldumpslow – 读懂MySQL慢查询日志

一、慢查询日志介绍 MySQL中,SQL的执行效率直接影响了MySQL的性能。为了便于DBA及时发现并处理有性能异常的SQL,MySQL专门设立了慢查询日志(slow query log)。SQL执行时间大于long_query_time设定的时候,MySQL就会将这条SQL记录到慢查询日志中。 MySQL慢查询日志既可以保存成文件,又可以保存在MySQL的表中。由于保存在表中,会给数据库带来额外

Read more

SQL 同时查询最大值、最小值的优化方法

在实际工作中,我们经常需要将表中的最大值和最小值同时查询出来,用于分析。 类似于这样的SQL,select min(object_id),max(object_id) from  borpt.t1; 但是,表很大的时候,用最容易想到的方式效率很低,那么有没有更高效的方式呢?下面展开讲解。 初始化测试环境

查询最大值时的执行计划,走的

Read more