Re: lug-bg: PostgreSQL performance
- Subject: Re: lug-bg: PostgreSQL performance
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Wed, 23 Mar 2005 13:38:04 +0200
On Wed, Mar 23, 2005 at 01:33:52PM +0200, Sertys wrote:
> On Wed, 23 Mar 2005 12:52:19 +0200, Sertys <sertys@xxxxxxxxxxxxxx> wrote:
> >Досега съм разработвал главно уеб и не-crucial бази данни и mySQL е бил
> >перфектният ми избор. Сега обаче пиша нещо по сериозно и минахме на
> >pgsql. Структурата е прекрасна, езика ми харесва, но получавам много
> >ниска производителност. Нещо от сорта на 57 реда за 222 милисекунди,
> >което ме ужасява. И времето скалира по геометрична прогресия. Сега
> >сървъра не е на продукшън машината, а на някакъв windows и се опасявм,
> >че е оттам. И въпреки това за 160000 реда ми отнема около 2 минути,
> >което е немислимо при mysql да речем, а да не говорим за комерсиалните
> >решения. Тъпото е, че данните са помпани от MSSQL server и няма никакви
> >индекси по таблиците. Някакви performance tips?
>
> Ми не, истината е че е с postgreSQL 8.0.1 нейтив компилиран пакет. И
> въпреки това се ВЛАЧИ!
> Ше го пусна скоро под любимия ми линукс и ще видя как се държи.
В 98% от случаите няма смисъл да задаваш въпроси от сорта на 'как да
подобря производителността', преди да си сложил поне един-два индекса...
Останалите два процента са случаите, когато наистина правиш SELECT или
UPDATE *без* WHERE-клауза, така че наистина не би имало смисъл от ползване
на индекси.
Първо, сложи поне няколко индекса.
Второ, пусни си query logging и сложи log_min_duration_statement=0, така
че да логва всички заявки; после сложи и log_duration=true, за да видиш
какво наситина за колко време се случва. Виж кои са бавните заявки, виж
дали не можеш с още един-два индекса да ги подобриш.
Чак след това започваш да мислиш за истински performance tuning :)
Поздрави,
Петър
--
Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
Hey, out there - is it *you* reading me, or is it someone else?
Attachment:
pgpd5yq6xHZ9e.pgp
Description: PGP signature
|