5
我寫了一個複雜的Oracle SQL查詢和解釋計劃統計是這樣的: 費用:209201字節:187944150基數:409675甲骨文解釋計劃:基數返回一個龐大的數字,但該查詢返回任何記錄
現在DBA調諧查詢和統計如下: 費用:42,996字節:89,874,138基數:209,226
我的第一個問題是,如果數字越低,它是否會自動錶示更好的性能? 哪個數字最有用?費用/基數/字節? 我的第二個問題是:我明白基數是讀取的行數。但是當我運行查詢時,它返回'0'行! 我的印象是基數必須相同的兩個查詢,應該返回相同的結果集。我猜這是錯誤的?
基數是(簡單地說)優化器_thinks_將需要的行數;取決於許多因素,包括統計水平,這可能是錯誤的。 – Ben
謝謝。你能解釋什麼是BYTES? – Victor
@Kaushik:在文檔中,「BYTES」是「通過查詢優化方法估計操作訪問的字節數」。但這是誤導,這實際上是操作返回的*字節數。例如,如果您有全表掃描,它將讀取表中的每個字節,但「BYTES」是*任何過濾器之後*的估計大小*。 http://docs.oracle.com/cd/E11882_01/server.112/e16638/ex_plan.htm#r22c1-t12 –