mysql - 针对表 4.000.000 条记录优化 Mysql

标签 mysql optimization where-clause

我有一张表,其中有 4.000.000 条记录。

我想运行单个查询来选择男性成员

SELECT * FROM member WHERE gender='0' ORDER BY member_id DESC LIMIT 0,20;

执行此查询花了 12 秒。 我已经有带有性别、member_id 字段的索引。 0:男性 1:女性

Keyname Type    Unique  Packed  Field   Cardinality
gender  BTREE   No  No  gender  2

那么,我怎样才能加快这个查询:(

最佳答案

您需要一个包含 2 个字段的索引: 性别,member_id DESC

这应该可以将速度加快到不到一秒。

SQL命令:

ALTER TABLE  myTable ADD INDEX (  `gender` ,  `memcber_id` DESC )

关于mysql - 针对表 4.000.000 条记录优化 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12825279/

相关文章:

mysql - 如何查询3个mysql表并返回匹配结果(一对多关系)?

Mysql连接多张表,where子句问题

python - 根据 python 中的用户输入更新多个变量之一

python - 我的 Django 查询 : how to improve the speed of list view

algorithm - 优化 O(n^2) 算法所需的建议

python - 如何修改满足条件的值下一行的值?

动态生成MySQL多个where子句

mysql - 如何在 mysql 的同一列上使用 LEFT 和 REPLACE?

php - 如何在 PHP 类中声明静态变量但在扩展基类的类中定义它?

php - MySQL错误: check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN