昨今は、システム構築にデータベースは欠かせない存在です。データベース RDBMSが使われない事案が無いほど普及しています。
そんな中、期待したパフォーマンスが出ない原因、ボトルネックに、データベースに問題があることが多いです。
なぜプログラマーはデータベースに歩み寄れないのか?
SQLはできるけど、、、データベースには疎い初心者プログラマー、開発に向けて、簡単なチェックリストを作ってみました。
SQL毎の実行時間を調べ、遅いSQLについては以下を確認します。
- テーブル結合している列に、索引はついているか? ついていない場合は索引を作成する。
- 条件(WHERE句)に使っている列に、索引はついているか? ついていない場合は索引を作成する。
- 並び替え(ORDER BY句)に使っている列に、索引はついているか? ついていない場合は索引を作成する。
- 条件(WHERE句)に使っている列に、関数や計算式を使っていないか? 使っている場合は使わない回避策を考える。
- ただし、テーブルに索引をつけすぎていないか? 多いとINSERT、UPDATEのパフォーマンスが悪化します。
- ただし、索引をつけるその列のカーディナリティは高いか? 例えば0と1しか入っていない列に索引をつけるのは無意味。

最近のコメント
1週 3日前
7週 2日前