[英]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.