是否可以为数据库中的特定列值生成索引?例如,我有一个名为status
的列,其值为{0,1,2,3}
,但状态2
最经常被调用,所以我想专门索引该值。这可能吗?我想象中的语法将类似于你可以在降,像这样的索引方式:在特定值上生成索引
create index foo on table(bar desc);
我可能会看到这样的工作:
create index foo on table(status 2);
这生成的SQLDeveloper一个missing right parenthesis
错误针对Oracle数据库。
什么时候这是一个好主意,而不是一个正常的字段索引?节省空间? – voithos
@voithos所以主要问题是我的数值非常有限,但我只关心这些数值的一部分。所以我一直在寻找最佳/最有效的方式来为子集建立索引,而不是价值的宇宙。 – Woot4Moo
节省空间是一个副作用,但它也可以用于避免对基于索引的访问方法无用的非常常见的值进行索引。例如,如果99.9%的值是“N”并且0.1%是“Y”。 –