我有一个简单的表“t1”,其中包含:
word VARCHAR(16)
id INT
importance SMALLINT
word和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
排序吗?
答案 0 :(得分:2)
要加快查询速度,请在(word, importance DESC, id)
上添加索引。
您可以在表上放置多个索引,因此如果您不想删除现有索引,则无需删除。