Mysql:如何优化这个查询。以获得更快的结果

标签 mysql sql

如何优化此查询,为了更快获得结果,在 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上创建一个组合键,这样就可以只通过索引来获取数据。

关于Mysql:如何优化这个查询。以获得更快的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36831926/

相关文章:

php - SQL 错误 : Returned value is boolean?

php - 如何通过sql在数据库表中插入多个变量?

sql - 基本的 sql 查询——其中前缀 =

mysql - 如果另一个值不存在,如何根据一个值从表中选择项目? ( Eloquent /SQL)

mysql csv文件导入问题

mysql - 如何从两个表中获取针对 ID (FK) 的多个图像

mysql - 计数(Select * Join)mysql查询

c# - Nhibernate 一对多关系错误

c++ - 将 SQL 连接到 visual studio 2015 中的 c++ 项目

mysql - 如何查找其中包含某些行值的列/表