数据库通常在执行查询之前优化查询。对于使用JDBC或命令行客户端发出的查询,可以查看数据库执行的实际优化查询。我正在使用Oracle数据库。
答案 0 :(得分:1)
我认为您误解了 - EXPLAIN PLAN向您展示了优化程序看到的内容的摘要,而不是事实上的查询:
Rows Execution Plan
-------- ----------------------------------------------------
12 SORT AGGREGATE
2 SORT GROUP BY
76563 NESTED LOOPS
76575 NESTED LOOPS
19 TABLE ACCESS FULL CN_PAYRUNS_ALL
76570 TABLE ACCESS BY INDEX ROWID CN_POSTING_DETAILS_ALL
76570 INDEX RANGE SCAN (object id 178321)
76563 TABLE ACCESS BY INDEX ROWID CN_PAYMENT_WORKSHEETS_ALL
11432983 INDEX RANGE SCAN (object id 186024)
优化程序做出的决策基于所涉及的表和任何索引的统计信息。如果事情发生了足够的变化,刷新的统计数据可能会发生巨大变化。