postgresの最適化された記録

postgresql11データベース、データの挿入、巨大な遅いバルク、クエリ、また、彼らの巨大な遅い、メモリパラメータのチューニングおよびパフォーマンスの最適化プロセスに関する記録:

1.背景

OracleとMySQLははるかに高速であるべきよりも、クエリの速度テストのような単一テーブルの環境(テストテーブルの設立に関するライブラリ全体)でアウトPG11データベース非常に高速にデータを10万個、後に、彼はフォローアップするために交換するプロジェクトを決定しましたPG11データベース、本番環境、ラインに相当するデータ量に開発の他端は、遅いクエリの場合に見出されています。

 

2.プロセス

2.1スロークエリ

どのようなインストールを経由してyumをpostgresユーザにpg_top11 pg_topツール、スイッチをインストールし、実行しpg_topは、SQLの数を実行するために、その半分以上の時間を見つけ、pg_topは、以下のSQLクエリのSQLコンテンツを実行し、SQLのコンテンツの具体的な実装の内部を見ることができません。

select datname, pid, usename, application_name, client_addr, client_port, 
         xact_start, query_start, 
         state_change,wait_event_type,wait_event, state, backend_xid, backend_xmin, query,
         xact_start,(now()-xact_start) as take_times,
         query_start,now()-query_start as run_times
  from pg_stat_activity 
 where 1=1  
   and state<>'idle'
   and (backend_xid is not null or backend_xmin is not null) 
 order by take_times;  

これは、SQLを記述する開発者の数が不合理であることがわかったが、PGはゆっくりと実行プロセスとなっている、といくつかのも速い1の時間とは終わりを実行します。

2.2最適化

マシン構成の開発環境は、スロークエリがあるので、あなたが最初のビューのディスクの読み取りと書き込みの場合にインストールディスクIOツールでどこボトルネックを見つける、比較的低いです

おすすめ

転載: blog.csdn.net/peihexian/article/details/99635164