ehlo.
I'm doing initial design test for our web database, and
I found strange performance degradation while doing repeatative
updates of a table: each next cycle of update takes more time.
Average slowdown for a cycle is about 1%, i.e. after doing about
100 updates, update time becomes twice as large.
I run Postgres under Cygwin on PII-400/192M machine. I has no
chance to run it under a kind of unix system yet, but I guess the
problem is not related to OS used.
Version:
PostgreSQL 7.2.1 on i686-pc-cygwin, compiled by GCC 2.95.3-5
I've made a small example (using JDBC) to show it (see attachment).
The test creates 3000 records of (id,x,y) integers, and in
loop updates x and y values of each record.
Results are like following:
turn:0 elapsed time:8.612
turn:1 elapsed time:8.373
turn:2 elapsed time:7.701
turn:3 elapsed time:7.42
turn:4 elapsed time:7.611
turn:5 elapsed time:7.581
turn:6 elapsed time:7.631
turn:7 elapsed time:7.721
turn:8 elapsed time:7.711
turn:9 elapsed time:7.862
turn:10 elapsed time:8.021
turn:11 elapsed time:7.922
turn:12 elapsed time:8.211
turn:13 elapsed time:8.092
turn:14 elapsed time:8.252
turn:15 elapsed time:8.292
turn:16 elapsed time:8.422
turn:17 elapsed time:8.572
turn:18 elapsed time:8.502
turn:19 elapsed time:8.583
turn:20 elapsed time:8.742
turn:21 elapsed time:8.943
turn:22 elapsed time:8.913
turn:23 elapsed time:9.103
turn:24 elapsed time:9.133
turn:25 elapsed time:9.183
turn:26 elapsed time:9.494
turn:27 elapsed time:9.784
turn:28 elapsed time:9.894
turn:29 elapsed time:9.885
turn:30 elapsed time:10.044
turn:31 elapsed time:10.115
turn:32 elapsed time:10.405
turn:33 elapsed time:10.645
turn:34 elapsed time:10.425
turn:35 elapsed time:10.886
turn:36 elapsed time:10.915
turn:37 elapsed time:11.046
turn:38 elapsed time:11.697
turn:39 elapsed time:11.627
turn:40 elapsed time:11.907
turn:41 elapsed time:12.308
turn:42 elapsed time:12.538
turn:43 elapsed time:12.808
turn:44 elapsed time:13.439
turn:45 elapsed time:13.67
turn:46 elapsed time:14.351
turn:47 elapsed time:15.241
turn:48 elapsed time:16.014
turn:49 elapsed time:16.583
turn:50 elapsed time:17.395
...
dozen