From: | Anton <anton200(at)gmail(dot)com> |
---|---|
To: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | index на таблицу с ~ 700 000 записей: чем занят постгрес??? |
Date: | 2006-12-11 18:10:12 |
Message-ID: | 8cac8dd0612111010r5497e742q9ead6f80e0593dc5@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-ru-general |
На днях подумал я о бэкапе и воссоздании базы... Сдампил, после
некоторых тестов закомментарил в дампе создание индексов на таблицу
n_traffic (почему - ниже).
Если что, default_statistics_target = 350, хотя было от 200 до 800 не
дождался так и так.
Дело вот такое. Создалась и заполнилась таблица
=# \d n_traffic
Table "public.n_traffic"
Column | Type | Modifiers
--------------+-----------------------------+------------------------------
login_id | integer | not null
traftype_id | integer | not null
collect_time | timestamp without time zone | not null default now()
bytes_in | bigint | not null default (0)::bigint
bytes_out | bigint | not null default (0)::bigint
Indexes:
"n_traffic_login_id" btree (login_id)
Foreign-key constraints:
"n_traffic_login_id_fkey" FOREIGN KEY (login_id) REFERENCES
n_logins(login_id) ON UPDATE CASCADE
"n_traffic_traftype_id_fkey" FOREIGN KEY (traftype_id) REFERENCES
n_traftypes(traftype_id) ON UPDATE CASCADE
В ней более 700 000 записей, collect_time в основном раз в 5 минут, то
есть идут пачки строк, штук по сотне и больше, с одним collect_time.
Делаю для порядка даже
=# VACUUM FULL ANALYZE n_traffic ;
Затем
=# CREATE INDEX n_traffic_collect_time ON n_traffic(collect_time);
...и это замирает надоооолго. Я не стал ждать конца, пока что оставлю
на ночь и спать пойду.
Покопал в архивах, пересмотрел настройки, изменений не видать.
systat vmstat показывает почти полное отсутствие активности диска,
нет-нет возникают какие-то килобайты, и постоянную полную загрузку
проца. top показывает
PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND
19715 _postgre 64 0 26M 80M onproc/1 - 24:36 99.07% postgres
До этого был unique индекс на логин, тип и время, но я уже его совсем
закомментарил, боюсь ТАКОГО не дождусь и за неделю... :-((
Возникает вопрос (в свете замечаний в архиве от Oleg Bartunov о том,
что он и на 500 миллионов записей создавал индексы) - а что собсно
постгрес делает всё это время и делает ли что-то полезное? Чего это он
жучит проц, но почти ничерта не читает/пишет на диск?
--
engineer
From | Date | Subject | |
---|---|---|---|
Next Message | Raymond O'Donnell | 2006-12-11 18:43:49 | Re: World Wide International Law: Linux is compulsory (mandotary) in all schools/universities world-wide |
Previous Message | Kirk Wythers | 2006-12-11 18:00:10 | out of memory error on 3 table join |
From | Date | Subject | |
---|---|---|---|
Next Message | Anton | 2006-12-13 09:04:57 | Re: [pgsql-ru-general] index на таблицу с ~ 700 000 записей: чем занят постгрес??? |
Previous Message | Anton | 2006-12-05 09:34:00 | Re: SELECT ... WHERE ... IN (SELECT ...) -> SELECT ... WHERE (... OR ... ) |