pg 7.5 - odbc insert тормозит

yurinb
Дата: 10.08.2004 12:24:20
Есть тестовые таблицы одинаковой структуры в postgres, access и mysql.
Всё это крутится на одном компьютере.
В access таблица заполнена 39000 записей, в postgres и mysql пустые.
При вставке этих записей access->odbc->postgres запросом на добавление получается скорость вставки всего 140 записей в секунду (общее время работы запроса около 5 минут). Хочется увеличить скорость, так как аналогичный запрос добавления access->odbc->mysql дает около 1000 записей в секунду (на таблице вида innodb с поддержкой транзакций)

Кто что посоветует настроить для убыстрения этого процесса?

===
Для любопытных:
версия postgres - postgresql-7.5-devel-20040731.msi
access - windows XP, MS Access 2002
mysql - MySQL 5.0.1-alpha-nt


таблица 39000 записей вида
CREATE TABLE test2
(
datedob date,
ls varchar(20),
val char(3),
sum_rur numeric(12,2),
prc float8,
dateb date,
datee date,
srok numeric(4),
sumbal numeric(12,2),
id serial NOT NULL
)
WITHOUT OIDS;

настройки сервера-
max_connections = 500
fsync = false
sort_mem = 131072
shared_buffers = 30000
effective_cache_size=2000
checkpoint_timeout = 300
commit_delay = 1000
commit_siblings = 500
Sad Spirit
Дата: 10.08.2004 23:22:26
BEGIN;
INSERT ... ;
...
INSERT ... ;
COMMIT;

а по поводу MySQL --- проверь, действительно ли у тебя таблица InnoDB, а то к него есть привычка создавать не совсем то, о чём его просят...
Sad Spirit
Дата: 10.08.2004 23:28:12
Ой. Разглядел настройки.

shared_buffers = 30000 --- это около 256 мегабайт. рекомендуется уменьшить, особенно если памяти не слишком много.
effective_cache_size=2000 --- рекомендуется увеличить до половины имеющейся памяти.
fsync = false --- рекомендуется вернуть взад

вот это:
commit_delay = 1000
commit_siblings = 500
рекомендуется убрать, если только у тебя всё время не 500 одновременных транзакций на изменение данных работают.
yurinb
Дата: 15.08.2004 10:22:14
Нет, вертел настройки по разному - не помогает.
Зато поставил постгрес версию 8 бета 1 и на ней всё за пол минуты добавляет, что и хотелось достичь.