MySQL クエリのパフォーマンス改善テクニック -その2- 予約語に大文字を使ってクエリを改修してみる
先天性不幸体質という渾名がついてる clown の note にようこそ。
はじめに
今回やること
MySQL のクエリパフォーマンス改善のひとつとして、簡単にできるクエリ改修をします。
対象者
RSDB を使うシステムに関わってて、ユーザから重いって言われてる人
DB 担当になったけど、何から手を付けていいかわかんない人
MySQL を使っている人(他 DB でも基本はそんなに違わないです)
ざっくり説明
今日も DBMS と格闘してますか?
クエリなんて究極は動けばいいんですけど、データ取得に数時間数日かかるようだと、クレームどころか次から仕事がなくなります。
じゃあ、クエリパフォーマンスを改善すればいいじゃない。
というのが今回の話。
でもパフォーマンス改善ってどうやって?
という悩みをひとつだけ解決するのがこの記事です。
予約語は大文字で書け!
SQL には SELECT や UPDATE、WHERE などの予約語があります。
これらを大文字で書くように意識しましょう。
こうすることで DBMS がクエリキャッシュを使ってくれた場合に、一致する予約語はキャッシュが効くことがあり、僅かながらも高速化できます。
例えば
select `id` from `sumple_users` where `id` = 1;
こういうクエリを
SELECT `id` FROM `sumple_users` WHERE `id` = 1;
という感じに書きます。
カラム名は大文字小文字の区別があって、正確な名称でないとエラーになるので、カラム名は定義されているカラム名にあわせてください。
※逆に全部小文字ならそれはそれでキャッシュが効くんじゃないの?と思ったあなた。正解です。
なので、予約語を記述するケースは統一しましょう。