Zajímala by mě jedna věc. Mám jednu stránku PHP, na které je poměrně hodně výpočtů a provázání s MySQL. Snažím se to teď nějak optimalizovat, aby to běželo rychleji a zajímala by mě jedna věc. Řekněme že mám relativně rozsáhlou databázi a potřebuju například získat 10 nejvyšších a 10 nejnižších hodnot určitého sloupečku. Napadají mě dvě možnosti jak to udělat. První možnost je zavolat si jednoduše do databáze, zadat ORDER BY X LIMIT 10, a uložit do Array. Pak udělat nový příkaz do databáze, tentokrát dát ORDER BY X DESC LIMIT 10 a opět uložit do druhé Array. Tzn. mám 2 volání do databáze, se seřazením a s limitem 10 hodnot.Druhá možnost by bylo zavolat do databáze jen jednou, hodnoty nijak neseřazovat a jednoduše pomocí IF příkazů zjišťovat zda je daná hodnota vyšší/nižší než už dříve zaznamenané hodnoty. Nakonci pak vyjdu opět s 2 array, kde bude 10 max a min hodnot. V tomto případě tedy volám do databáze jen jednou, ale zase procházím všechny hodnoty bez LIMIT.Tento příklad možná je dost krkolomný, ale podobných situací řeším víc, kdy potřebuju různě uspořádané hodnoty a řeším zda je rychlejší procházet limitovat dotaz za cenu více dotazů nebo udělat jeden hromadný bez limitu. Máte s tím někdo zkušenosti?