ホーム
コンテンツにスキップ
検索にスキップ
Oracle
メニュー
サインイン
アカウント
Oracleアカウント
サインアウト
Oracleアカウント
アカウントを管理して、パーソナライズされたコンテンツにアクセスできます。
サインイン
アカウントを作成
クラウド・アカウント
クラウド・ダッシュボードへのアクセス、ご注文の管理など、さまざまな操作を行えます。
サインイン
国を選択
アカウント
ヘルプ
国を選択
電話
Oracle
Technology Network
おすすめコンテンツ
製品技術情報 TOP
ソフトウェアダウンロード TOP
製品ドキュメント TOP
OTN オンデマンド TOP
掲示板 TOP
チュートリアル TOP
技術コラム TOP
はじめての方へ
データ・ブロック・プリフェッチによるパフォーマンス向上
データ・ブロック・プリフェッチは、Oracle9i で提供される「隠れた」パフォーマンス機能の一例です。 この機能は、エンドユーザーとデータベース管理者の両方に対して完全に透過的ですが、個別の問合せ性能を30%またはそれ以上向上させることができます。
データ・ブロック・プリフェッチは、Bツリー索引を使用して多数の行を取出す問合せ性能を大幅に改善します。 データ・ブロック・プリフェッチは、「クラスタ化が徹底されていない」索引を使用する問合せに対して最も大きなパフォーマンス上の 利点をもたらします。(基礎となる表のデータが索引キーと同じ順序である索引を「クラスタ化されている」といいます。 クラスタ化の徹底されていない索引とは、基礎となる表の行が索引キーとはまったく異なる順序である索引です。)
ほとんどの表にはクラスタ化された索引は多くても1つしかないため、クラスタ化の徹底されていない索引が非常によく見られます。
これまで、クラスタ化の徹底されていないBツリー索引を使用した多数の行へのアクセスは高負荷になることがありました。 索引によってアクセスされる各行は別のデータ・ブロックにあることが多く、別のI/O処理が必要でした。I/Oが表全体に分散し、 バッファ・キャッシュのヒット率が低くなるため、このような問合せにはバッファ・キャッシュは非効率的です。
このような場合、システムに使用可能なI/O帯域幅がある場合でも1度に1つのデータ・ブロックがキャッシュに読み取られるのを 待機することになり、問合せはI/Oバウンドになりやすくなります。
データ・ブロック・プリフェッチでは、Oracleは1度に1つのデータ・ブロックを読取るのではなく、基礎となる索引によって 指定された複数行がアクセス可能になるまでデータ・ブロックの読取りを遅らせ、その後に複数のデータ・ブロックを1度に取出します。 ブロックのプリフェッチにより、I/O容量をよりよく利用することができ、必要な限りI/O操作をパラレルで発行することによって 応答時間がさらに短縮されます。
TPC-Hベンチマークの問合せ17は、データ・ブロックのプリフェッチを使用したよい例です。 この問合せにおけるビジネスの質問は、次のようなものです。特定のブランドと特定の容器タイプについて、これらの部品の平均注文数の 20%未満が今後入荷されなくなるとしたら、年間の収入における平均損失はいくらになるか?
この問合せは、次のSQL文を使用して表すことができます。
SELECT
SUM(l_extendedprice) / 7.0 AS avg_yearly
FROM
parts,
lineitem l1
WHERE
p_partkey = l_partkey
AND p_brand = 'Brand#23'
AND p_container = 'MED BOX'
AND l_quantity <
(SELECT 0.2 * AVG(l_quantity) FROM lineitem l2
WHERE l_partkey = p_partkey);
Oracle8i とOracle9i のいずれにおいても、この問合せを実行する効率的な方法はlineitem.l_partkeyに索引付けすることです。
Oracle8i では、この問合せには264秒かかります。Oracle9i で同じハードウェア構成と同じ実行計画でこの問合せを実行すると、 180秒かかります。データ・ブロック・プリフェッチにより、この索引の多い問合せ性能は30%以上向上しました。
データ・ブロック・プリフェッチは、Oracle9iでパフォーマンスが改善されている多数の機能の一例に過ぎません。
追加情報
Business Intelligence (データ・ウェアハウス)
- DSS環境におけるOracle9iのパフォーマンスと拡張性(ホワイトペーパー)
Oracle9
i
Database Daily Feature
アーカイブ
E-mail this page
Printer View
お問い合わせ
電話: 0120-155-096
お問い合わせ先
オラクル・サポート・サービス
日本オラクルについて
会社情報
コミュニティ
採用情報
クラウド
クラウド・ソリューション概要
ソフトウェア(SaaS)
プラットフォーム(PaaS)
インフラストラクチャ(IaaS)
データ(DaaS)
クラウド無料トライアル
イベント
Oracle OpenWorld
Oracle Code
JavaOne
オラクルのすべてのイベント
おすすめコンテンツ
Javaダウンロード
開発者向けJavaダウンロード
Oracle Cloudを試す
電子メール配信登録
ニュース
ニュースルーム
オラクルのマガジン(US)
顧客事例
日本オラクルのブログ
主要トピック
ERP、EPM(財務)
HCM(人事/人材)
マーケティング
CX(販売/サービス/商取引)
サプライチェーン
業種別ソリューション
データベース
MySQL
ミドルウェア
Java
エンジニアド・システム
Facebook
Twitter
LinkedIn
YouTube
Oracle RSSフィード
Oracle
Integrated Cloud Applications & Platform Services
© Oracle
サイトマップ
ご利用規約およびプライバシー
広告表示について