1
2
「 SQL 応答が遅い」に立ち向かうにはが遅い」に立ち向かうには遅い」に立ち向かうにはい」に立ち向かうには」に立ち向かうにはに立ち向かうには立ち向かうにはち向かうには向かうにはかうに立ち向かうにはは
●
●
●
SQL 実行の仕組み の仕組み 仕組み み - プランナとと Executor
4
SQL 実行の仕組み の仕組み 仕組み み - データ読み取り読み取りみ取りり
 参照についてはストレージ についてはストレージ ストレージ I/O を減らすことができる減らすことができるらすことができる
5
インデックスの利用の仕組み 利用
・ インデックスで条件にあうデータの在り処を調べることができるにあうデータの在り処を調べることができるデータの在り処を調べることができるの在り処を調べることができる在り処を調べることができるり処を調べることができる処を調べることができるを減らすことができる調べることができるべることができる
・ インデックスを減らすことができる使わないなら、テーブル全件走査しかないわないなら、テーブル全件走査しかないテーブル全件走査しかない全件にあうデータの在り処を調べることができる走査しかないしかない
Index Scan
6
インデックスの利用の仕組み 利用
Bitmap Index Scan + Bitmap Heap Scan インデックスの在り処を調べることができる種類
7
実行の仕組み プランを調べる調べるべる
主な計画ノードな計画ノード計画ノードノード
同じ目的にじ目的に目的にに
複数の手段がの在り処を調べることができる手段がが
あるケースに注意
9
結合方式
現状が悪いプランなのか?が遅い」に立ち向かうには悪いプランなのか?い」に立ち向かうにはプランな計画ノードの仕組み か?
・ SQL に対して人力で実行プランを考えて検討する必要がある対して人力で実行プランを考えて検討する必要があるして人力で実行プランを考えて検討する必要がある人力で実行プランを考えて検討する必要があるで実行プランを考えて検討する必要がある実行プランを考えて検討する必要があるプランを考えて検討する必要があるを考えて検討する必要がある考えて検討する必要があるえて人力で実行プランを考えて検討する必要がある検討する必要があるする必要がある必要があるがある必要がある
11
プランナと統計情報
●
プランナ統計情報の採取状況統計情報の採取状況の在り処を調べることができる採取状況
●
●
12
プランナと統計情報の仕組み 粒度を上げるを調べる上げるげる
プランナとに立ち向かうには指示する設定する設定
●
パラメータの在り処を調べることができるを減らすことができる postgresql.conf や SET コマンドで指定で指定
14
SQL を調べる書き換えるき換える換えるえる
●
指定の在り処を調べることができる結合順序で実行させるで実行させるさせる
15
パラレル動作動作
●
16
一時ファイルの使用ファイル動作の仕組み 使用
●
ソート処を調べることができる理、テーブル全件走査しかないハッシュ作成処理で発生作成処を調べることができる理で発生
17
ロック待ちの可能性ち向かうにはの仕組み 可能性
●
実はストレージ ロック待ちで遅いのかもしれないちで遅いのかもしれないいの在り処を調べることができるかもしれない
●
18
拡張モジュールモジュール動作
●
●
●
●
19
まとめ
●
●
●

T3 pg sql_tuning_basic_20181122