MySql教程

MySQL orderby查询效率/索引影响

本文主要是介绍MySQL orderby查询效率/索引影响,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

MySQL Order by 查询效率

遇到问题
 使用 order by 之后查询效率特别慢
sql语句如下:
 -- 注:索引:create_time :Key、  id: Primary Key -- wx_user  6000万条数据 
 select id from wx_user where create_time>='2022-01-29 00:00:00' and create_time<='2022-01-30 00:00:00' order by id limit 1; 
 -- 执行耗时60s+    

Explain:
select_typetabletypepossible_keyskeykey_lenrefrowExtra
SIMPLEwx_userindexctPRIMARY4null273Using where
猜测
order by id 导致where条件的 create_time索引没有使用而使用了主键扫描
解决方案 修改 order by 使用where 条件
select id from wx_user where create_time>='2022-01-29 00:00:00' and create_time<='2022-01-30 00:00:00' order by create_time limit 1;   
Explain:
select_typetabletypepossible_keyskeykey_lenrefrowExtra
SIMPLEwx_userrangectct5null208754Using where; Using index

explain 参考文档

https://cloud.tencent.com/developer/article/1176479?from=article.detail.1093229

这篇关于MySQL orderby查询效率/索引影响的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!