Gaetano Mendola <[EMAIL PROTECTED]> writes:
Tom Lane wrote:
Hm, it sure looks to be exactly the same plan. The performance difference seems to be just that the seqscans are faster. I surmise that in the 7.3 database you had a lot of dead rows, or at least a lot of free space. Possibly you need to vacuum more often to keep down the amount of junk in the tables.
The two databases were created from scratch and the first operation on it ( after a vacuum analyze ) was just that query.
Y'know, I'd love to think that 7.4 is 2x faster than 7.3 on seqscanning, but I just can't believe that. We didn't do anything that could account for such a speedup. So there's got to be some inconsistency in your test conditions.
The machine is the same, the disk too, the main values in the configuration file are the same ( I put the confs in attachment ).
I was alo able to remove the useless column on that tables, and I
put the dump here:
http://212.198.37.110
The select take long:
Postgres7.3.3: average 4000 ms Postgres7.4b2: average 2600 ms
you can experiment your self with the dump that I gave you
Regards Gaetano Mendola
tcpip_socket = true max_connections = 128
shared_buffers = 13000 # I'm running two postgres server max_fsm_relations = 1000 # min 10, fsm is free space map, ~40 bytes max_fsm_pages = 2000000 max_locks_per_transaction = 64 # min 10 wal_buffers = 2000 sort_mem = 32768 vacuum_mem = 32768 default_statistics_target = 1000 server_min_messages = debug2 log_connections = true log_pid = true log_statement = true log_duration = true log_timestamp = true syslog = 2 syslog_facility = 'LOCAL0' syslog_ident = 'postgres' stats_start_collector = true stats_reset_on_server_start = true stats_command_string = true stats_row_level = true stats_block_level = true LC_MESSAGES = 'en_US.UTF-8' LC_MONETARY = 'en_US.UTF-8' LC_NUMERIC = 'en_US.UTF-8' LC_TIME = 'en_US.UTF-8'
tcpip_socket = true max_connections = 128 shared_buffers = 13000 sort_mem = 32768 vacuum_mem = 32768 max_fsm_pages = 2000000 max_fsm_relations = 1000 wal_buffers = 2000 default_statistics_target = 1000 syslog = 2 syslog_facility = 'LOCAL0' syslog_ident = 'postgres' log_min_messages = debug2 log_connections = true log_duration = true log_pid = true log_statement = true log_timestamp = true log_hostname = false log_source_port = true stats_start_collector = true stats_command_string = true stats_block_level = true stats_row_level = true stats_reset_on_server_start = true lc_messages = 'en_US.UTF-8' # locale for system error message strings lc_monetary = 'en_US.UTF-8' # locale for monetary formatting lc_numeric = 'en_US.UTF-8' # locale for number formatting lc_time = 'en_US.UTF-8' # locale for time formatting
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster