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