我有一个三列表。它有一个独特的索引,另外两个(用于两个不同的柱)以加快查询速度。三列表中的两个非主/唯一索引
+-------------+-------------+----------+
| 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,这是否会是一种矫枉过正的行为。不得不刷新每个新插入索引?那么这个手术会花费很长时间吗?谢谢
你的意思是你让每一个索引?那么好。缺点是您必须在插入或更新时保持该索引。通常没有太多的开销。 – Randy
是的,每一个。所以,如果我已经在该表中有100.000行,并且要插入另一个100.000,那会不会是一种矫枉过正,不得不用每一个新插入来刷新索引?那么这个手术会花费很长时间吗? – srgb