2
的MySQL索引/订货数据我有一个简单的表“T1”,包含:根据多个条件
word VARCHAR(16)
id INT
importance SMALLINT
字和ID是唯一的一起,但仅靠也不是唯一的。
我加了一个UNIQUE INDEX(word, id)
我的查询看起来是这样的:
SELECT id FROM t1 WHERE word = "something" ORDER BY importance DESC
但它需要0.0002秒执行说:
SELECT id FROM t1 WHERE word = "something"
但需要高达0.15秒,以执行ORDER BY importance DESC
。
我的问题是,我该如何索引/重新排序我的表,使其首先按字组织,然后按重要性排序,而不必在飞行中进行排序?
我可以对静态数据进行重新排序,因此默认排序为word, importance DESC
?
我想到了这一点,但问题出现在我填充表格时。我想确保我不添加多个单词,id对。你怎么看? – nick
@nick:正如我所说的,你不需要删除你的唯一索引。您可以同时使用两个索引。 –
这不会使磁盘空间增加一倍吗? – nick