【发布时间】:2014-01-12 16:28:10
【问题描述】:
我已经在 Google 上搜索了几个小时,但我还没有完全弄清楚索引是如何工作的,因为有很多混合的答案可用。
假设我有一个查询 1:
SELECT subid, subid2 FROM clicks WHERE wid=100 AND uid=123 AND time >= 1387886885
还有一个查询 2:
SELECT subid, subid2 FROM clicks WHERE fid=100 AND time >= 1387886885 AND uid=123
1) 我应该如何在这里放置索引?我应该使用多列索引还是单列索引?
2) 我在 stackoverflow 上找到了一个答案,该答案建议也向 subid 和 subid2 添加索引,我应该这样做吗?如果不是,在什么情况下会这样做?
【问题讨论】:
-
如果您有很多(数十亿)次点击,并且您比较频繁地运行此查询,您可以考虑根据时间列进行分区。
-
谢谢,我会调查的。
标签: mysql optimization indexing innodb