前回「システムの寿命はコードで決まる!」ではコード設計について解説しました。今回はデータへの最短ルート、つまりSQLの最も効率的なアクセスパス(実行計画)を見つけ出すためのテクニックを解説します。 SQLはデータベースに関する最も基本的な技術で、まずSQLから学んだ(でいる)という方は多いと思います。しかし、SQLを学ぶ際、データベースから必要なデータを取得する手段を学んでも、どのようなアクセスパスでデータを取得するかは後回しになることが多いのではないでしょうか。 商用のシステムで使用されるSQLは、必要なデータを取得できるだけでは不十分で、どれだけ素早く取得できるかも重要です。データ取得の素早さは、SQLに適用されるアクセスパスの良しあしで決まります。そこで、今回は「どんなアクセスパスが適しているか」「どうやってRDBMSに適切なアクセスパスを利用させるか」を以下のような構成で解説します
S-JIS[2003-07-19] PostgreSQL7.2.1 SQL最適化メモ SQL実行の際は、PostgreSQLが実行計画を立て、最も効率のよい方法で実行される。 が、SQLの組み方によっては効率の悪い方法が選ばれることがあるので注意。 VACUUM ANALYZE PostgreSQL(プランナー)が実行計画を立てる際には、統計情報が使われる。 統計情報はVACUUM ANALYZEを実行していないと更新されない。SQLの実行が遅いと思ったら、まず真っ先にVACUUMすべし。 EXPLAIN SQLを実行する際に プランナーがどのような実行計画を立てるかについては、EXPLAINで確認できる。 検索方法の種類 ほとんどの場合はseq-scanよりindex-scanの方が速いが、EXPLAINでcostを見てみないと確かなことは分からない。 どちらを使うかはプランナーが統計情
PostgreSQLのチューニング PostgreSQLは最適なパフォーマンスが出るように自動的に調整されるため、特別なチューニングテクニックは必須ではありませんが、最大限にパフォーマンスを引き出したい場合にはpostgresql.confで指定している値を調整することによりチューニングが可能です。また、PostgreSQLのパフォーマンス向上のためには定期的にVACUUMコマンドを実行することをお奨めします。 ■VACUUMコマンドを実行する VACUUMコマンドはPostgreSQLデータベースの掃除と解析をおこなうコマンドです。 定期的にVACUUMコマンドを実行するとデータベースの問い合わせのパフォーマンスが向上します。 VACUUMコマンドによる処理はテーブルが大きい場合は時間がかかりますので、あまりアクセスのない時間帯におこなうとよいでしょう。 ●VACUUMコマンドの文法 v
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く