postgres - b. dlugi czas oczekiwania na select
Marcin Szczepaniak - 19-10-2007 00:01
postgres - b. dlugi czas oczekiwania na select Witam.
Mam dosc prosta baze (15 tabelek, w kazdej od kilku do kilkunastu pol), wynik pg_dump zajmuje 40 MB wiec raczej niewiele. Jedna z tych tabel ma w tej chwili ok 3500 rekordow (rekordy sa do niej z regumy dodawane, rzadko usuwane, wiec ogolnie 'dodan' moglo byc nie wiecej jak 5 tys).
Zrobilem b prosty test:
id: int4 unique not null title: varchar (1024)
select id, title from tabelka;
i co ? Czas oczekiwania na 3400 rekordow to ok pol minuty - na dosc mocnej maszynie. explain select pokazuje ze poza tym selectem nic sie nie dzieje (logiczne).
Zrobilem wiec cos takiego:
pg_dump baza > plik dropdb baza createdb baza psql baza < plik
i po takiej operacji ten select wykonuje sie momentalnie.
Co jest przyczyna takiego zachowania sie bazy ?
Moj postgres to 8.2, konfiguracja domyslna.
hubert depesz lubaczewski - 19-10-2007 00:01
Dnia 18.10.2007 Marcin Szczepaniak <szczepan@tego.nie.sieradz.info> napisał/a: > Co jest przyczyna takiego zachowania sie bazy ?
robisz update'y, a nie wykonujesz vacuuma.
depesz
-- quicksil1er: "postgres is excellent, but like any DB it requires a highly paid DBA. here's my CV!" :) http://www.depesz.com/ - blog dla ciebie (i moje CV)
Marcin Szczepaniak - 19-10-2007 00:01
Dnia 18.10.2007 hubert depesz lubaczewski <depesz@depesz.com> napisał/a: > Dnia 18.10.2007 Marcin Szczepaniak <szczepan@tego.nie.sieradz.info> napisał/a: >> Co jest przyczyna takiego zachowania sie bazy ? > > robisz update'y, a nie wykonujesz vacuuma. > > depesz
czyli vacuumdb -f -z baza raz na dzien z crona ?
hubert depesz lubaczewski - 19-10-2007 00:01
Dnia 18.10.2007 Marcin Szczepaniak <szczepan@tego.nie.sieradz.info> napisał/a: >>> Co jest przyczyna takiego zachowania sie bazy ? >> robisz update'y, a nie wykonujesz vacuuma. > czyli vacuumdb -f -z baza raz na dzien z crona ?
-f jest prawie na pewno błędem zamiast vacuumdb ... baza można/lepiej dać: vacuumdb -azv
a dodatkowo - po prostu włącz autovacuuma w postgresql.conf
depesz
-- quicksil1er: "postgres is excellent, but like any DB it requires a highly paid DBA. here's my CV!" :) http://www.depesz.com/ - blog dla ciebie (i moje CV)
Marcin Szczepaniak - 20-10-2007 00:02
Dnia 18.10.2007 hubert depesz lubaczewski <depesz@depesz.com> napisał/a: > Dnia 18.10.2007 Marcin Szczepaniak <szczepan@tego.nie.sieradz.info> napisał/a: >>>> Co jest przyczyna takiego zachowania sie bazy ? >>> robisz update'y, a nie wykonujesz vacuuma. >> czyli vacuumdb -f -z baza raz na dzien z crona ? > > -f jest prawie na pewno błędem > zamiast vacuumdb ... baza można/lepiej dać: > vacuumdb -azv > > a dodatkowo - po prostu włącz autovacuuma w postgresql.conf >
dzieki wielkie.
Mam jeszcze jedno pytanie - jaka literature/link bys polecil by poczytac co sie wlasciwie dokladnie podczas VACUM / ANALYZE dzieje ? Chodzi mi o takie technikalia zwiazane ze sposobem w jaki postgres zapisuje dane, co wtedy sie dzieje i tak dalej.
hubert depesz lubaczewski - 20-10-2007 00:02
Dnia 19.10.2007 Marcin Szczepaniak <szczepan@tego.nie.sieradz.info> napisał/a: > Mam jeszcze jedno pytanie - jaka literature/link bys polecil by poczytac co sie > wlasciwie dokladnie podczas VACUM / ANALYZE dzieje ? > Chodzi mi o takie technikalia zwiazane ze sposobem w jaki postgres zapisuje dane, > co wtedy sie dzieje i tak dalej.
http://www.postgresql.org/docs/curre...ql-vacuum.html
depesz
-- quicksil1er: "postgres is excellent, but like any DB it requires a highly paid DBA. here's my CV!" :) http://www.depesz.com/ - blog dla ciebie (i moje CV)
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?=
postgresql - int/int
[PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?=
[postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?=
[postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?=
[PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?=
Postgres - replikcja master-master
Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL]
Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
=?ISO-8859-2?Q?[psql]_Polskie_t=B3umaczenie_?= =?ISO-8859-2?Q?licencji_BSD_dla_PostgreSQL=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.pllunadance.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|