我有一个三列表。它有一个唯一索引,另外两个(用于两个不同的列)用于更快的查询。
+-------------+-------------+----------+
| category_id | related_id | position |
+-------------+-------------+----------+
有时查询是
SELECT * FROM table WHERE category_id = foo
有时是
SELECT * FROM table WHERE related_id = foo
所以我决定同时制作category_id
一个related_id
索引以获得更好的性能。这是不好的做法吗?这种方法的缺点是什么?
如果我在该表中已经有 100.000 行,并且正在插入另外 100.000 行,这会不会是矫枉过正。每次插入都必须刷新索引?那这个手术会不会太长?谢谢