Posted By: bam-bam (bam-bam) on 'CZdatabases'
Title: Re: SQL pomale s pribyvanim radku
Date: Mon Feb 26 18:56:11 2007
> > chova se celkem logicky. Sestavi prvnich 50 radku a tim to hasne. V druhem
> > pripade musi sestavit 7050 radku, coz chvili trva. Na vetsine databazi
> > offset
> > neznamena, ze predchozi hodnoty se nebudou zpracovavat.
>
> Mne to teda moc logicke neprijde. Asi jsem hodne natvrdlej, ale prosil bych
> to
> trochu vice rozvest a natvrdleho snaka popostrcit. Mne totiz prijde, ze jsou
no on se ti snazi rict ze proste asi databaze v prvnim pripade fetchne 50
radku kdezto v druhem 750 takze je pomalejsi.
Jinak dost zalezi na konkretnim optimalizatoru a jeho nastaveni.
Nevim jak to je u mysql, ale u dospelych databazi treba zalezi i na naplneni
konkretnich tabulek.
Napriklad kdyz mas tabulku ktera ma radove malej pocet polozek (tisice) tak i
kdyz ma na sobe index tak je vyhodnejsi pouzit full table scan nez ten index
(nasaje si to do pameti a joinuje to az tam, tudiz pouzije jedno sekvencni
cteni s disku, kdezto kdyz by pouzil index tak nejdriv precte index a pak ma
nekolik cteni dat z disku.
Databaze maji mnoho ruznych optimalizaci takze je tezko rict. treba kdyz je
cizi klic s not null klauzuli tak databaze vi ze muze vzit jen prvnich 50
radek z prvni tabulky, protoze si muze byt jista ze v druhej tabulce tech
odpovidajicich 50 urcite najde, kdezto kdyz tam muzou byt null hodnoty tak
proste nejdriv musi udelat ten join a pak teprve omezit kolik jich chce.
A takovejhle veci je v databazich plno.
Mylit se je lidske,ale neco dokonale zasmodrchat je mozne jen pomoci pocitace.
/Artur Bloch/