【发布时间】:2017-10-30 12:55:36
【问题描述】:
我有一个表,其中包含我要索引的几个字段:
user_id = Int that divides the data between user accounts.
item_number = Non-unique Int that a user sets when creating new items.
我有两个索引:
idx_user_id: Fields = user_id, Type = BTREE, Unique = NO
idx_user_id_item_number: Fields = user_id AND item_number, Type =
BTREE, Unique = YES
我想知道 idx_user_id 是否是不必要的,因为我们也以 user_id 开始我们的 idx_user_id_item_number,查询将使用它并获得相同的结果。我唯一担心的是,由于 idx_user_id_item_number 索引是唯一的,因此可能需要同时保留两者。
【问题讨论】:
-
取决于您在该表上运行什么查询。如果您有查询搜索
user_id和查询搜索user_id, item_number则保留两者 -
错了。您只需要 idx_user_id_item_number。当您仅对 user_id 进行过滤时,也可以使用此索引。唯一性并不重要。