SQL文に問題がある

現在、システム内で使用されているデータベースの多くが、プログラム内からSQL文を使用してデータを取得しています。
プログラム内でSQLを直に発行するような仕組みにはなっていないかもわかりませんが、データを取得する最終方法は、SQLのselect文を発行することになります。
しかし中には、複数のテーブルを検索した結果、その結果によっては数千万件の結果を出力することになる可能性もあります。
複数のテーブルを掛け合わせて検索する場合は、その検索結果が飛躍的に増加する可能性がないように、select文を組み立てましょう

インデックスが適切に設定されていない

データベースには、インデックスという概念があります。テーブルのとある項目にこのインデックスを設定しておくと、select文を発行した場合に
素早く検索結果を得ることになります。問題はどの項目をインデックス項目として指定するか、という事です。基本的にインデックスを設定する項目は、selectをする際に使用する項目を設定します。
逆に設定しないほうがいい項目は、よくデータの更新が発生する項目です。
更新が頻繁に発生する項目にインデックスを設定し検索条件としてよく使用する項目にインデックスを設定していなければ、パフォーマンスが上がるどころか逆に遅くなる可能性もありますのでインデックスの設計は十分考慮して行ってください。

その他にも、データの構造自体がselect文や更新を行うupdate文等を頻繁に発行しなければならない単位でテーブルを設計していると
全般的にパフォーマンスが悪くなります。これらの点を十分に考慮しながら、データベース設計を行うようにしましょう

関連するまとめ

超おススメ!青山学院大学陸上部監督・原晋さんの著書!

2015年の箱根駅伝初優勝から3連覇を達成した青山学院大学ですが、 なんと行っても注目すべきは選手もですが、…

筆人

簿記の資格どれが就職に有利なの?

簿記の資格っていっぱいあるけどどれが有利なの? 日商簿記や全経簿記、全商簿記などそれぞれの資格についてご紹介…

専門君

転職に役に立つ転職エージェントとはなに?

転職を上手に進めるためには、準備して必要があります。だけど、働きながら転職する場合はなかなか難しいですよね。…

あり

                          

アクセスランキング

人気のあるまとめランキング