示例表:
kitchen_option_id (int and primary key)
kitchen_id (int)
kitchen_chair_id (int)
我希望得到所有与厨房相关的椅子33.我可以用索引加快这个吗?即使我不能使kitchen_chair_id独一无二?
答案 0 :(得分:2)
您可以在kitchen_id
上添加非唯一索引。这允许dbms执行所谓的“索引范围”扫描,也就是说dbms对第一个kitchen_id = 33
执行直接索引查找,然后,因为索引键已经排序,它可以按顺序读取索引键,直到找到kitchen_id != 33
,然后停止。
这比全表扫描多快多少取决于比率(kitchen 33) / (all kitchens)
,盈亏平衡点高于1/2。