SQL Server
EXEC ストアド名;
Postgres
select ストアド名;
2010年5月31日月曜日
2010年5月26日水曜日
postgresの実行速度を早くする
postgresのSQL文が急に遅くなる事態があり、
インデックスがまったく効いていないような動作となり
レスポンスが返ってこなくなった。
VACUUMとANALYZEを実行する事でとりあえず解決・・・
1日1回、あまり使用されていない時間帯に実行しておくと良いみたい。
またデットロックの可能性もあった、
そちらの調査方法は下記SQLを使い調査する。
SELECT * FROM pg_stat_activity;
SELECT * FROM pg_locks;
SELECT l.locktype, a.datname, c.relname, l.transactionid, l.pid,
a.usename, a.current_query, a.query_start,
age(current_timestamp, a.query_start), l.mode, l.granted
FROM pg_locks AS l
JOIN pg_stat_activity AS a ON (l.pid = a.procpid)
LEFT OUTER JOIN pg_class AS c ON (l.relation = c.oid)
WHERE pid != pg_backend_pid() ORDER BY a.query_start;
インデックスがまったく効いていないような動作となり
レスポンスが返ってこなくなった。
VACUUMとANALYZEを実行する事でとりあえず解決・・・
1日1回、あまり使用されていない時間帯に実行しておくと良いみたい。
またデットロックの可能性もあった、
そちらの調査方法は下記SQLを使い調査する。
SELECT * FROM pg_stat_activity;
SELECT * FROM pg_locks;
SELECT l.locktype, a.datname, c.relname, l.transactionid, l.pid,
a.usename, a.current_query, a.query_start,
age(current_timestamp, a.query_start), l.mode, l.granted
FROM pg_locks AS l
JOIN pg_stat_activity AS a ON (l.pid = a.procpid)
LEFT OUTER JOIN pg_class AS c ON (l.relation = c.oid)
WHERE pid != pg_backend_pid() ORDER BY a.query_start;
登録:
コメント (Atom)