質問するログイン新規登録

質問編集履歴

2

試したこと【2】を追記しました。

2018/10/24 12:33

投稿

turkey
turkey

スコア15

title CHANGED
File without changes
body CHANGED
@@ -19,6 +19,28 @@
19
19
  select * from tbl limit 1; -->1ms以下
20
20
  select * from tbl limit 1; -->だんだん遅くなる
21
21
 
22
+ ### 試したこと【2】
23
+ ご指摘いただいた内容について実施しました(結果:ほぼ解決)
24
+
25
+ 以下、EXPLAIN SELECT * FROM tbl WHERE tbl_seri=1; の結果と処理時間
26
+
27
+ 試す前の状態
28
+ Seq Scan on tbl (cost=0.00..71755.30 rows=3142 width=506) 350ms
29
+
30
+ VACUUM tbl;実施後
31
+ Seq Scan on tbl (cost=0.00..64434.24 rows=33 width=506) 320ms
32
+
33
+ VACUUM FULL;実施後
34
+ Seq Scan on tbl (cost=0.00..310.24 rows=33 width=506) 2.9ms
35
+
36
+ REINDEX TABLE tbl;実施後
37
+ Seq Scan on tbl (cost=0.00..310.24 rows=33 width=506) 2.8ms
38
+
39
+ VACUUM ANALYZE;実施後
40
+ Seq Scan on tbl (cost=0.00..535.24 rows=1 width=264) 3.3ms
41
+
42
+ 明日、VACUUM FULL;なしを試してみようと思います。
43
+
22
44
  ### 補足情報
23
45
 
24
46
  PostgreSQL 8.1.23

1

indexについての記述を追加しました。

2018/10/24 12:33

投稿

turkey
turkey

スコア15

title CHANGED
File without changes
body CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  のような処理が、最初は3ms程度ですが、12時間運用すると400msほどになります。
6
6
 
7
+ (上記のtbl_seriはシリアル型のカラムです。それ以外のindexはありません)
8
+
7
9
  遅くなるのは特定の1テーブルのみでそれ以外のテーブルの速度は1ms以下です。
8
10
  3日ほど運用すると数分反応しなくなるので、現在は1日1回ダンプ→リストアでデータベースを再構築しています。
9
11
  再構築直後から次第に遅くなっていきます。