Portál AbcLinuxu, 19. dubna 2024 00:54


Dotaz: Rychlejsi pristup

16.6.2010 09:40 cross
Rychlejsi pristup
Přečteno: 232×
Odpovědět | Admin
Ahojte, robim jeden projekt a chcel by som vediet, co je rychlejsie. Projekt je pisany v PHP a vyuziva SQL databazu. V kode PHP vyberam z databazy 10 zaznamov, ktore idu za sebou. Tie sa nasledne vypisu do html.

Je rychlejsie dat databaze poziadavku s LIMITS, aby mi vybrala len od N po N+10, alebo je lepsie riesit tuto zalezitost na urovni PHP (teda 10 poziadaviek do DB - for cyklom pre vyber N, N+1, N+2,....N+10) ? Co je rychlejsie/lepsie (kod aplikacie viem prisposobit)? Dakujem.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.6.2010 10:41 d.c. | skóre: 30
Rozbalit Rozbalit vše Re: Rychlejsi pristup
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus hadat! ;-)

BTW neni to LIMITS ale LIMIT.
16.6.2010 10:52 cross
Rozbalit Rozbalit vše Re: Rychlejsi pristup
V jednom pripade idem for cyklom fetch_array na pole s 10 prvkami a v druhom pripade idem for cyklom vyberat zaznamy z DB. Z hladiska efektivity daneho kodu to mam jedno. Ide to 10 krat, co je konstanta, teda casova zlozitost je konstantna v oboch pripadoch.

Ide mi len o to, ci poziadavka na MySQL databazu, aby zosortila a vybrala danych 10 prvkov a nasledne fetch_array (for cyklus) je rychlejsie/pomalsie ako sortovanie a vyberanie danej poziadavky (myslim, ze zosortovane to bude uz v CACHE) vo for cykle.

V oboch pripadoch uz mam nadviazane spojenie s DB, takze to nehra ulohu.
Řešení 1× (Jiří Hlinka)
16.6.2010 11:48 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Rychlejsi pristup
Odpovědět | | Sbalit | Link | Blokovat | Admin
Samozřejmě je rychlejší, když to udělá databáze. Když to budete načítat z databáze po jednom záznamu, bude počet požadavků 10× větší, než když to načtete najednou, přičemž vyřízení každého z těch požadavků bude takřka stejně náročné, jako vyřízení toho jednoho požadavku pro 10 záznamů.

Dokud toho nebudete o databázích a programování vědět mnohem víc, můžete myslím obecně předpokládat, že co dokážete bez nějakých krkolomných obezliček udělat rovnou v databázi, bude mnohem rychlejší, než kdybyste totéž dělal až v aplikaci.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.