Vic*_*tor 5 oracle11g sql-execution-plan
我编写了一个复杂的oracle sql查询,解释计划统计信息如下所示:成本:209,201字节:187,944,150基数:409,675
现在,DBA调整了查询,统计数据如下所示:成本:42,996字节:89,874,138基数:209,226
我的第一个问题是,如果数字较低,它会自动意味着更好的表现吗?哪个数字最适合?成本/基数/字节?我的第二个问题是:我理解基数是读取的行数.但是当我运行查询时,它返回'0'行!我的印象是,对于应该返回相同结果集的两个查询,基数必须相同.我觉得这是错的?
小智 4
成本、字节、基数……所有这些都是根据优化器的统计数据等输入进行的估计。所以它们自动没有任何意义,但可以提供一个想法。用Oracle性能调优指南的话来说“最好使用EXPLAIN PLAN来确定访问计划,然后通过测试证明它是最优计划。在评估计划时,检查该语句的实际资源消耗。”
对于第二个问题:理论上等效的查询应该返回相同的基数。您的表的静态数据可能是旧的。
| 归档时间: |
|
| 查看次数: |
9076 次 |
| 最近记录: |