大家好,我有一个有超过250 k记录的大型数据库,数据库是mysql,现在我使用navicat来管理它
但是查询需要很长时间才能检索一个简单的结果集,如:
select count(my_column)
from my_table
where my_other_column = 123456我真的不能让这个查询花那么长时间,我需要一个mysql的替代方案,或者某种方法来优化它以使它更快。
目前这些表是mysam,不确定它是否是问题所在,如果是,我如何修改它们?
发布于 2014-07-08 13:48:22
对于此查询:
select count(my_column)
from my_table
where my_other_column = 123456您需要my_table(my_other_column, my_column)上的索引。请注意,这是一个复合索引,与有两个单独的索引不同。您可以使用以下方法创建它:
create index idx_mytable_other_my on mytable(my_other_column, my_column)这种类型的索引被称为查询的“覆盖索引”。不需要原始数据页,因为查询所需的所有数据都在索引中。
https://stackoverflow.com/questions/24633364
复制相似问题