Problemy s PostgreSQL

Karel Zak - Zakkr zakkr na zf.jcu.cz
Čtvrtek Listopad 4 12:14:58 CET 1999


On Thu, 4 Nov 1999, Jan Kasprzak wrote:

> 	Zdravim,
> 
> 	jsem dost nastvanej na vykon MySQL, tak jsem si rekl, ze vyzkousim
> ekvivalentni vec v PostgreSQL. Bohuzel mi to prijde porad dost pomale,
> takze se radeji zeptam, co delam spatne.

 Obavam se, ze PgSQL se nezene za vykonem ve smyslu data/s... To je mozna
domenou MySQL, ale je dost SQL serveru ktere jdou uplne jinym smerem
(modularnost, moznosti dotazovani, programovani, "kladny" vztah k datum..).

> for i in `seq 1 1000`; do echo "INSERT INTO tabulka values ($i, $RANDOM);'
> done | psql databaze
> 
> trva na mem notebooku desne dlouho oproti pripadu, kdy misto psql napisu

 No notebook :-) na mem serveru (nastaveno -F (PGSYNC=no)) delal jsem to bez
toho RANDOM to trva:

	* psql	(1.8 s)
	* psql -q (1.5 s)
	* pokud se to provede v 1 transakci tak 1.07 (s) - tedy o tretinu
							 rychleji..
	* jeste jsem nastavil transakci na 
		SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
	  ale zrychleni je tak mozna na hranici meritelnosti.. takze bez
	  efectu

Takze:

XXX=`seq 1 1000`
X=`for i in $XXX; do echo "INSERT INTO xxx values ($i); "; done`
echo "BEGIN; $X COMMIT;" | psql test -q

> mysql. Vypada to, ze postmaster hned kazdou zmenu commituje na disk, zatimco

 COMMITuje pokud mu nereknes, aby to nedelal..

> 	Ach jo, kdyby tak ten Postgres umel rozumne bloby ...

Stara znama pisnicka.. k Large Obj API se proste presvecit neda a neda :-)

Ty v tech BLOBech budes hledat - ty je budes indexovat? Jinak v TODO nebo
nekde v psql-hackers bylo neco o planu udelat nejaky binarni "text", a na
zruseni omezeni tech nepeknych 8Kb u query se take pracuje, ale proc to cpat
do tabulek kdyz se to pouziva "non-SQL" stylem (vetsinou)?

						Karel



Další informace o konferenci Databases