株式会社インサイトテクノロジー 発行
http://www.insight-tec.com/jp
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Vol.10
☆☆☆ おら!オラ! Oracle −どっぷり検証生活− ☆☆☆
2000.06.21
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
他ではなかなか得られない、マニュアルを読んでもわからない、
そういったOracleに関する技術情報をお届けするメルマガです。
実際に検証した結果も交えてお伝えしていきます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏━━━━◆ Oracle技術を高めたい人におすすめのセミナー◆━━━━━┓
★★ ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ★★
★★ ┃Oracle8プロフェッショナルテクニック セミナー ┃ ★★
★★ ┗━━━━━━━━━━━━━━━━━━━━━━━┛ ★★
★★ ご要望にお応えして開催決定!締切り迫る!申し込みはお早めに ★★
┗━ http://www.insight-tec.com/jp/topics/semi_information1.html ━┛
<<目次>>
■Oracle検証生活・・・インデックスに関する検証 その2
■お知らせ・・・★★締切り間近!Oracleセミナー情報!!
○Oracle管理ツール ○連載情報
○書籍ご予約受付中(1割引サービス終了間近!)
○QAについて
■編集者より
■■注意事項!!■■
本文中にテーブルが含まれていますので、お読みになる際はMSゴシック等、
等幅フォントをお使いただくことをお勧めします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ Oracle検証生活 ▼━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<インデックスに関する検証 その2> ペンネーム つけまい
--- インデックス利用の落とし穴
レンジ検索で全件検索よりも性能ダウン ---
●インデックスの構造
実験結果に入る前に(ご存知の方も多いと思うが)、インデックスの基本構造
(B-Tree)について簡単に説明する。
インデックスは http://www.insight-tec.com/jp/em/mm/ref10_01.html のよう
なバランス・ツリーと呼ばれる構造をしている。ルート・ノードおよびブラン
チ・ノードには実際のインデックスキーの存在するリーフ・ブロックの先頭の
キーと共に、そのキーが格納されているブロックを指すデータ・ブロック・アド
レス (DBA)が入っている。また、実際のインデックスキーが入っているリーフ・
ブロックには、そのキーに対するレコードのROWIDがあり、これにより実際の
テーブルの物理的位置を特定している。この例では、それぞれのブランチの先
頭にキーが入っておらずデータ・ブロック・アドレス(DBA)だけが記述してあるが、
Oracleは下位ノードの先頭リーフ・ブロックのキーをあえて持っていない。こ
れは、2番目のDBAを指すキーの値よりも小さい値は、先頭のDBAに格納されること
を意味している。
【注釈】ROWID = 実際のデータが格納されている物理的な位置を表したもの
●リーフ分割が発生するタイミング
http://www.insight-tec.com/html/reference/ref10a.html
の図からもわかるよう
にリーフ・キーは昇順にならべられている。ここで各リーフが満杯状況である場
合を想定し、「新規の挿入によるレコード35はどこに入るか?」を
http://www.insight-tec.com/html/reference/ref10b.html
の図で説明すると・・
新規レコード35を1番目のリーフ・ブロックの30の下に挿入したいのだが、1番目
のブロックには空きがない。そこで、リーフ分割という現象が発生する。パフォ
ーマンスを無視すれば1番目以降のリーフ・データをずらしながらデータ35を1番
目のリーフ・ブロックに挿入する事も考えられるのだが、当然その様な事はしな
い。 http://www.insight-tec.com/jp/em/mm/ref10_02.html はリーフ分割を解
説したものだが、レコード35は後に続くレコード40等といっしょに新しいリー
フ・ブロックを作ってしまう。これにより、新しいリーフあるいは分割されたリ
ーフには相当の空きが生じる可能性がある。この空きの量は、データの挿入さ
れる順番に大きく左右される。もし、データが昇順に挿入されていれば空き領
域は生まれないが、降順または飛び飛びに挿入されるとリーフ分割が多発する。
実際のシステムでは、データの挿入順など考慮していないのでリーフ分割を予
測する事などできない。
●インデックスは止まらない?
インデックスは、先に説明したようにルート、ブランチ、リーフと、3段階の過
程を経て目的とするレコードに到達する。しかし、これはあくまでもイコール
検索時の場合である。
一方のレンジ検索は、レコードに到達するまでの過程は同じだが、昇順に格納
されているという特性を利用して条件の到達点に達すると、そのブロックより
前(あるいは後へ)目的のブロックまでひたすら読み続けるという特性を持っ
ている。
今回の実験は、インデックス構造上の特性を、主にレンジ検索にスポットをあ
てて、実際にリーフ・ブロックをSkew(偏り)させて、「削除されたはずのイ
ンデックス・キーまで読んでしまう」という不可解な動きについての検証を試
みたものである。
初夏 茅ヶ崎にて
〜インデックスに関する検証 その2〜
by つけまい
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ Oracle8 プロフェッショナルテクニック セミナー ▼━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
昨年開催され大好評を博した上記のセミナーが、皆様からのラブコールに
お応えして再び開催されます。開催日もせまっています。お申し込みはお早
めに!!
「今回は新たにOracle DBAとして現場で活躍しようとしているような
フレッシュな方を対象にベーシックな部分に力を入れたセミナーを開きたい」
という講師を務める小幡の言葉にもありますように、Oracle DBAをこれから
目指す方々にわかりやすい言葉で丁寧なセミナーを行います。
テキストとして使われるのは、同名の既刊本(HPにて発売中)。著者による
解説を加えて読み解くことができるので、さらに理解が深まるはずです。
「わたしもこの本を解説してもらってSKILL UPしたんですよ。」(うさぎ談:
月刊DB Magazine誌「DBAのお仕事」で活躍中!)という例もあるように、
有意義なセミナーになること間違いなし!この機会にぜひご参加ください。
お申し込みは以下のURLにて承っています。
http://www.insight-tec.com/jp/topics/semi_information1.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ Oracle 管理ツール▼━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Oracleを知り尽くしたメンバーが開発したOracleパフォーマンス監視ツール
の決定版。インサイトテクノロジーの技術者の知恵とノウハウがここに結集!
パフォーマンス監視だけでなくOracleを使用しているシステムの運用、管理、
そして開発にも役立つ機能がいっぱいです。
詳しくは以下のURLをご覧ください。
http://www.insight-tec.com/jp/products/products.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 連載情報 ▼━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<雑誌連載:体験的・DBAのお仕事(DB Magazine(翔泳社))>
Oracleのエキスパートとして定評のある弊社のスタッフが執筆しております
連載記事です。Oracle関連業務に携わる方、是非ご一読ください。
7月号が発売中です。
http://www.insight-tec.com/jp/topics/magazine.html
上記のURLで各回のタイトルがご覧になれます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 書籍ご予約受付中 ▼━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<1割引&送料無料サービス終了間近!!>
「Oracle8 プロフェッショナルテクニック」は大好評につき、現在在庫切れと
なっており、ご注文いただいた皆様にはたいへんご迷惑をおかけしております。
まもなく入荷する予定ですので、今しばらくお待ちください。
これからご注文いただく方も、入荷次第発送させていただくということで
予約注文を受付けておりますのでよろしくお願い申し上げます。
また弊社のHPよりお申し込みいただいた方に限り、1割引&送料無料でご提供
するサービスは今回の予約注文分(6月23日受付分まで)で終了とさせていただ
きます。専門書としては異例の速さで増刷が決定するほどの好評をいただい
ている「Oracle8 プロフェッショナルテクニック」をお得に入手するチャン
スです。まだご注文されていない方はこの機会をお見逃しなく。
http://www.insight-tec.com/jp/topics/books.html
ホームページより受付中です。お早めに!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ QAについて ▼━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<皆様からのQAを受付けております>
皆様のQAにはできるだけ、お答えしたいと思っています。
すべてのQAにお答えすることはできないかもしれませんが、
適宜メルマガ内でとりあげていく予定ですので、是非QAをお寄せください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▼ 編集者より ▼━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
泳いだときに耳に水が入ってしまい、なかなか出てこなくていやな思いをし
たことはありませんか?だんだん暑くなってきましたが、夏になるといつも
思い出すことがあるんです。それは.....。
幼い頃、耳に入った水がまる1日たっても出てこなかったんですが、そのと
きに母が「じゃあ出してあげる。」と言って、わたしの耳にオキシドール
(消毒液)を流し込もうとしたんです。驚いて抵抗したわたしに「だまされ
たと思って。」と言い、母は強引に実行!するとあら不思議!今まで出てこ
なかった水が、オキシドールと共にすっきりと出てきたんです。母も聞いた
ことはあったけど試すのは初めてだったらしく(ということは私は実験台?)、
二人でしばし感動にひたりました。今同じことを試す勇気はありませんが、
これを科学的に解明できる方、また同じ経験のある方、是非教えてください。
by UA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録・解除は以下のURLで行うことができます。
http://www.insight-tec.com/jp/em/mail_magazine.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<おら!オラ!Oracle−どっぷり検証生活−>
発行/編集:株式会社インサイトテクノロジー
http://www.insight-tec.com/jp
マガジンID:0000030093
本メールマガジンに掲載された記事を許可なく転載することを禁じます。
Copyright (c) 1996-2000, Insight Technology Inc., All rights reserved.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━