SQLの気持ちになったら、もっと身近になる
あなたの書いているSQLはもっと×2速くできる可能性って考えたことありますか?
SQLの立場に立って、自分の作ったSQLを見直してみましょう。結構、理不尽なことをさせて
いるかもしれませんよ。
【今回のテーマ】
「データは見つけやすく工夫してよ」
【どういうこと?】
SQLを実行するとたった1行を取得するのに時間がかかる場合と一瞬で終わる場合がありますよね?
当然、SQLが気分でサボっているわけではありません。
みなさんが分厚い本を読むときに自分が読みたいページを探すために目次を使いますよね?
もし、目次がなかったら自分の読みたい箇所を探すために最初から読んでいかなければいけません。
それはやっぱりしんどいですよね。SQLも同じです。SQLに妥当な目次を与えてあげると見なければ
いけないデータを減らすことができます。これがSQLでINDEXと呼ばれるものです。INDEXが有効に
効いていれば、SQLとしては確認するデータ量が減るので処理が速くなります。
では、このINDEXを有効に効かせるためには気を付けることはなんでしょうか?
一番簡単な考え方として、本では「**章**節**項」などのように大きい分類から小さい分類へ
絞り込まれていきます。そのため、「3章を開いてください」と言われれば、簡単に開けますが、
「第3節を開いてください」と言われると「どの章のだよ!?」とツッコミをいれたくなるでしょう。
本で言う「**章**節**項」のような分類の大小を「順位」という形で持っています。使いたい
INDEXの順位に沿って、条件節(WHERE句)を記載します。上位順位のものが欠けないように書いていき
ましょう。
そうすれば、SQLとしてもツッコミを入れる手間もなく、処理できるので速く処理をすることが出来ます。
【SQLの気持ち】
ツッコミを入れなければいけないような条件節(WHERE句)ではなく、しっかりと利用させたいINDEXの
「順位」に沿った条件節(WHERE句)を書いて!
【まとめ】
データ量の多いデータはINDEXを効かせて確認する対象データを減らしてあげれば、処理速度は上がる