【发布时间】:2016-08-17 12:00:41
【问题描述】:
我有一个包含以下字段的表:id、sex、age_min、age_max、url。
该表格将按性别、年龄范围和 ID 进行过滤。一个常见的查询是:
SELECT `url` FROM foo WHERE (`id` NOT BETWEEN %lim_1% AND %lim_2%)
AND `sex`=%sex%
AND `age_min` <= %age% AND `age_max` >= %age%
我的问题是:我应该设置哪些索引以优化查询响应时间?另外,如果查询本身可以以某种方式优化,我也想知道。
【问题讨论】:
-
我觉得应该是
id。 -
@HamzaZafeer 只是
id?我正在考虑为除url之外的所有字段添加索引,但我不知道MySQL 将如何管理它。也许还有一些关于年龄范围的事情。 -
IMO 这可能最好放在 DBA.stackexchange.com 上,因为它是关于设计考虑,而不是专门编程。
标签: mysql indexing query-performance