Sql Oracle反向索引与查询
如果在Oracle中对VARCHAR2列创建反向索引,是否还需要反向WHERE子句中使用的值Sql Oracle反向索引与查询,sql,oracle,indexing,Sql,Oracle,Indexing,如果在Oracle中对VARCHAR2列创建反向索引,是否还需要反向WHERE子句中使用的值 CREATE INDEX myindex ON myTable(name) REVERSE; SELECT name FROM myTable WHERE name='Peter'; 或 不,您没有-请参阅完整的skinny。不,您没有-请参阅完整的skinny。您需要它来改进数据分布 与此类似,许多电影名称都以开头,这会降低索引性能 您不需要反转条件:Oracle将自动为您执行此操作 但是,您不能
CREATE INDEX myindex ON myTable(name) REVERSE;
SELECT name FROM myTable WHERE name='Peter';
或
不,您没有-请参阅完整的skinny。不,您没有-请参阅完整的skinny。您需要它来改进数据分布 与此类似,许多电影名称都以
开头,这会降低索引性能
您不需要反转条件:Oracle
将自动为您执行此操作
但是,您不能再进行范围查询:
SELECT name FROM myTable WHERE name BETWEEN 'A' AND 'C'
将导致全扫描您需要它来改善数据分布
与此类似,许多电影名称都以开头,这会降低索引性能
您不需要反转条件:Oracle
将自动为您执行此操作
但是,您不能再进行范围查询:
SELECT name FROM myTable WHERE name BETWEEN 'A' AND 'C'
将导致完全扫描您正在搜索的值为“Peter”。如果搜索“reteP”,将返回零行(或者至少不是您要查找的行) 您正在搜索的值是“Peter”。如果搜索“reteP”,将返回零行(或者至少不是您要查找的行) 谢谢-我就是这么想的。谢谢-我就是这么想的。