• ベストアンサー

実行計画の「COST」と「BYTE」について教えていただきたいです。

実行計画の「COST」と「BYTE」について教えていただきたいです。 書籍には COST・・・・CBOによって見積もられた操作コスト。 BYTE・・・・アクセスされるバイト数のCBOのアプローチによる見積もり。 と書かれていますが、いまいちピンときません。 私は、 COSTは、検索するテーブルのデータ量が多いほうがコスト値が大きくなる。 BYTEは、検索条件に合致して取得できるデータが多いほうがバイト値が大きくなる。 と思っているのですが、正しいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

このあたりを参考にしてください。 COSTはデータ量だけではなく、その表やViewのアクセスに要する時間やSortや結合が必要なら、そのために必要なCPU時間等も考慮されています。 表があるHDDのアクセス速度なんかも考慮されているし、表のエクステントが複数になっているかとかも考慮されています。 書籍はわかりにくいかもしれませんが、嘘は少ないと思います。著者が思い違いをしてないとは言い切れませんが。

参考URL:
http://otn.oracle.co.jp/forum/message.jspa?messageID=35016743
cosboki
質問者

お礼

ご回答ありがとうございます。 COST値は検索するデータ量という単純な値ではないのですね。 バイト値は取得したデータ量と思ってよろしいものなのでしょうか?

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.2

BYTEは >アクセスされるバイト数のCBOのアプローチによる見積もり ですね。あくまで予想される読み込みバイト数です。実際の値ではありません。 これくらいは読むだろうと言う予測です。 >検索条件に合致して取得できるデータが多いほうがバイト値が大きくなる 検索条件に合致しているかどうかも、読んでみなければわかりませんから。 結果のバイト数ではありませんよ。

cosboki
質問者

お礼

ご回答ありがとうございます。 あくまで目安ということですね。 よく覚えておきます。

関連するQ&A