单表查询对于单表扫描,当 OPTCOMPIND 设置 0 或 1 且当前事务隔离级别为“可重复读取”时,优化程序将考虑以下存取计划: 如果某个索引是可用的,那么优化程序将使用它访问表。 如果没有索引可用,那么优化程序将考虑按物理顺序扫描表。当尚未在数据库...
显示全部单表查询对于单表扫描,当 OPTCOMPIND 设置 0 或 1 且当前事务隔离级别为“可重复读取”时,优化程序将考虑以下存取计划:
如果某个索引是可用的,那么优化程序将使用它访问表。
如果没有索引可用,那么优化程序将考虑按物理顺序扫描表。
当尚未在数据库服务器配置中设置 OPTCOMPIND 时,它的值缺省为 2。当 OPTCOMPIND 设置为 2 或 1 且当前隔离级别不是“可重复读取”时,优化程序将选择成本最低的计划来访问表。
多表查询对于连接计划,OPTCOMPIND 设置将影响用于表的特定排序对的存取计划。 如果您希望数据库服务器选择的连接方法与它在以前版本的数据库服务器中所选的完全相同,那么将 OPTCOMPIND 设置为 0。 此选项确保了与以前版本的兼容性。
如果 OPTCOMPIND 设置为 0 或设置为 1 且当前事务隔离级别为“可重复读取”,那么优化程序将优先选择嵌套循环连接。
重要信息:当 OPTCOMPIND 设置为 0,优化程序不选择散列连接。
如果 OPTCOMPIND 设置为 2 或设置为 1 且事务隔离级别不是“可重复读取”,那么优化程序将从那些前面所列出的计划中选择成本最低的查询计划并且不优先选择嵌套循环连接。
收起