繁体   English   中英

Mysql:如何优化这个查询。 为了更快的结果

[英]Mysql: How to optimize this query. for faster results

如何优化此查询,为了获得更快的结果,1000 万行需要 80+ 秒。

su_id 和 admin_id 都是 BTREE 索引

SELECT su_id FROM members_ext WHERE admin_id = 5962789

都是 INT 数据类型,带有 BTREE 索引

su_id 的基数是 8496470,admin_id 是 10437

解释结果

id  ,select_type,table  ,type,rows, Extra   
1, SIMPLE ,members_ext , ALL ,8496471 ,Using where

在admin_id、su_id上做一个组合键,这样数据就只能通过索引获取了。

不要将数字存储在 varchars 中,然后与数字进行比较。 它不会有效地工作。

在此处添加引号:

SELECT su_id FROM members_ext WHERE admin_id = "5962789"

然后,为了更快的查询,有INDEX(admin_id, su_id)

如果此答案中有任何错误,请提供SHOW CREATE TABLE members_ext 缺少一些重要的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM