假设有一个非主键列(A,B,C,D)的表,其中有一个索引(A,B,C,D)
涉及(A,B,C,D)子集的查询是否会使用索引?如上所述,部分键查找存在什么样的特性?
我特别感兴趣的是它在SQL Server,Sqlite,Firebird中是如何工作的。
答案 0 :(得分:4)
使用索引的初始子集的查询应该使用索引。
因此,(A),(A)和(B)以及(A)和(B)和(C)上的等连接应该使用索引。
实际上,您也可以添加不等式,因此,索引应该支持以下所有内容:
答案 1 :(得分:3)
是,如果搜索键与索引字段的顺序相同。
否则没有。假设您已获得进入图书馆的指示,请查看第3章第3页的“了不起的盖茨比”。这就像使用多字段索引一样。
现在说,你被告知要获得第3章,第3页......没有书名。你必须查看每本书。