在oracle数据库表中建立索引

时间:2013-09-16 14:46:22

标签: sql oracle11g

我正在为表格中的几列创建索引

Q1:在单个列上创建索引(id-'separate',column1-'separate')和组合列(id,column-'Combined')之间有什么区别?

要添加更多详细信息,id不是我表格中的唯一键

Q2:当我通过where子句中的两列过滤数据时,组合列上的索引会加快查询速度吗?

请让我知道这件事。

此外,欢迎使用可以帮助我更多了解索引的良好资源。

提前致谢。

AVG

2 个答案:

答案 0 :(得分:1)

它有所不同,这取决于您的查询     考虑表T(A,B,C)     如果你只有“其中A = V1和B = V2”的查询,你宁愿索引(A,B)     如果你有“其中A = V1”的查询和其他“其中B = V2”的查询,你宁愿选择2个索引     如果您有两种类型的查询,则需要索引(A,B)和另一个索引(B)

答案 1 :(得分:1)

A1: 如果您的选择分别基于COLUMN1和COLUMN2,那么请选择两个索引。 如果你不打算使用UNIQUE,那么就放弃复合索引的想法。 还要记住,当您添加索引时,会增加更多的空间开销,从而在巨大的插入/删除期间引发性能问题。它仅在选择和更新时显示出良好的性能。

A2:这是不可能的。最可能的情况是永远不会使用索引。