在Oracle分区上搜索

在Oracle分区上搜索,oracle,oracle11g,partitioning,Oracle,Oracle11g,Partitioning,在已分区的Oracle表上运行SQL时,如果SQL不引用用于分区的列,是否会对性能造成很大影响?视情况而定。如果WHERE子句不基于任何索引列,则查询速度将非常慢,因为Oracle必须进行完整的表扫描 若您在WHERE子句中的列上有一个全局定义的索引,那个么您只访问一个分区还是访问所有分区并不重要 但是,当您的表有许多分区和WHERE子句使用的本地定义的索引时,就会出现降级。假设您的表有50个分区和本地定义的索引,那么一个没有指定分区的查询(通过WHERE条件或显式地通过分区名称)也必须同样扫描

在已分区的Oracle表上运行SQL时,如果SQL不引用用于分区的列,是否会对性能造成很大影响?

视情况而定。如果WHERE子句不基于任何索引列,则查询速度将非常慢,因为Oracle必须进行完整的表扫描

若您在WHERE子句中的列上有一个全局定义的索引,那个么您只访问一个分区还是访问所有分区并不重要


但是,当您的表有许多分区和WHERE子句使用的本地定义的索引时,就会出现降级。假设您的表有50个分区和本地定义的索引,那么一个没有指定分区的查询(通过WHERE条件或显式地通过分区名称)也必须同样扫描50个单独的索引。

谢谢。你能详细说明一下全局V局部定义的指数吗?你所说的“全局V”是什么意思?