〜 ORACLE技術研究所 〜
発行メールマガジンの紹介です。
ORACLE技術研究所 (マガジンID:0000126828)
メールマガジン登録
メールマガジン解除
Powered by
メルマガサンプル
-------------------------------------------------------------------------------------------
〜 ORACLE技術研究所 〜
Vol.1 Hint句に関する検証〜その1〜
-------------------------------------------------------------------------------------------
◆もくじ
◇INDEXを2つ使いたい??
◇Hint句って?
◇編集後記
-------------------------------------------------------------------------------------------
◇INDEXを2つ使いたい??
ある日、メーカが僕のトコに来てこう言った
メーカ「1つのSQLで2つのINDEXを使いたい場合、Hint句には、どう書いたら良いんですかね?」
僕「え?2つのTABLEをJOINして、それぞれのTABLEで使用するINDEXを指定したいってことですか?」
メーカ「いえ、1つのTABLEで2つのINDEXを使用したいんです」
僕「・・・・・・は??」
メーカ「このSQLなんですけどね」
そして見せられたのが下記のようなSQL
だいぶ簡略化はしてるけど
SELECT * FROM table_name WHERE column1 = '1' OR column2 = '1'
column1とcolumn2には、それぞれ単一INDEXが貼られている
その両方を使用して検索を行いたいということだった
僕「INDEX Hintじゃダメでしたか?」
メーカ「うまくいきません」
僕「ちょっと確認しますね」
本来、僕のトコにメーカから質問がくるのはお門違いなのだが・・・
まぁ、いいや
個人的に気になるし今回はこれを検証してみよう
◇Hint句って?
Hint句を説明する前にOptimizerと実行計画を説明しないと
新人に説明する時に使用するざっくりとした概念で言うと
ORACLEにはOptimizerという小人が住んでます
ORACLEに対して問い合わせを実行すると、この小人がデータを取りに行ってくれます
その時に、どういった経路でデータを取りに行くのか?
この道すじのことを実行計画と呼びます
ざっくりこんな感じ
で、Hint句は何かと言うと
ORACLEに住んでいる小人は、あまり賢くありません
たまに最適な道すじを通らずにデータを取りに行くことがあります
そんな時、こっちの道を通れと強制するために使用するのがHint句です
簡単にはわかっていただけただろうか??
◇編集後記
次回から、いよいよ検証スタートです。
週間ですので基本的に週1回発行ですが遅れたらごめんなさい。。。
-------------------------------------------------------------------------------------------
発行者:TYPE-R
発行システム:まぐまぐ
ID:0000126828
バックナンバー:
登録・解除はこちらから →
免責事項:
本メールマガジンに掲載された記事を許可なく転載することを禁じます。
本文中のすべての内容、広告に対し一切の責任を負いません。
自己責任にて御利用ください。
-------------------------------------------------------------------------------------------
[★高収入が可能!WEBデザインのプロになってみない?!
自宅で仕事がしたい人必見!
]
[ CGIレンタルサービス | 100MBの無料HPスペース | 検索エンジン登録代行サービス ]
[ 初心者でも安心なレンタルサーバー。50MBで250円から。CGI・SSI・PHPが使えます。 ]