目录
需求
我们想要查询表中数据某一字段的最大值。你可以选择下图中的方式直接查
select max(payment_date) from payment;

我们用执行计划查看一下这条SQL的性能
explain select max(payment_date) from payment\G
可以看到这条SQL语句检索了16000多行的数据,我们可以通过索引的方式对其进行优化。

通过加索引优化SQL
设置在哪个表给哪个属性添加索引
create index inx_paydate on payment(payment_date);
查看添加索引后的执行计划
explain select max(payment_date) from payment\G
索引不需要扫描表,添加之后检索的行数为Null提高了查询的效率~~~~

本文探讨了在MySQL中查询数据字段最大值时遇到的性能问题。通过执行计划,发现未优化的SQL语句扫描了大量行。解决方案是为相关字段添加索引,以减少行扫描并提高查询效率。添加索引后,执行计划显示无需扫描全部数据,从而显著提升了查询速度。
1449

被折叠的 条评论
为什么被折叠?



