pomalé dibi fetchAll a fetchAssoc
- enumag
- Člen | 2118
Tak to se nedivím. Čas dotazu měří jak dlouho trvá databázi data najít, ale ve chvíli kdy databáze data najde (což je díky indexům rychlé) je ještě aplikace nemá – ta si je může tahat třeba po jednom postupně až když potřebuje takže to vlastně měřit ani nejde. To co trvá ty dvě vteřiny není samotný dotaz ale přesun dat z databáze do aplikace protože zmíněné dvě metody tahají všechny řádky najednou. Při tomto množství by ale možná bylo lepší tahat je po jednom v cyklu metodou fetch.
Editoval enumag (2. 9. 2013 20:18)
- AaAAb
- Člen | 6
A kolik ty řádky obsahují dat? Nepomohlo by optimalizovat množství dat přes SELECT a vyjmenování sloupců? Párkrát jsem byl nucený z databáze tahat a zpracovávat také dost řádku (cca 5000 při velikosti data do 1kb na řádek) a jako nejrychlejší mi vyšlo si z vytáhnout přímo pdoStatement a nad tím data získat přes fetchAll(PDO::FETCH_OBJ);
edit: v dibi to možná bude podobné, ale nedoporučuji obcházet rozhranní dibi a přistupovat přímo na funkce driveru. Cachování by to mohlo vyřešit…
Editoval AaAAb (10. 9. 2013 17:53)