Doporučujeme: TV program | Zkus to jinak - logicky | Snadné sdílení souborů | Italo.cz | Psí Park | Stahovač videí z YouTube | Měření rychlosti internetu

Můj blog – až 10 % špičkového kódu navíc!

Rychlost dotazu a spojování tabulek

Datum: 15. 7. 2006 23.59 | Autor: Lukáš | 3812× | Kategorie: MySQL | Komentáře: 2

Jen takový menší postřeh z dneška. Už pár týdnů jsem nevěděl, proč se ty články z databáze na rss.vsevjednom.cz (po zalogování) načítají tak pomalu. Když jsem ten SQL dotaz hodil do PMA, trval kolem dvou sekund, což je dost. Tak jsem si s tím chvilku hrál a nakonec jsem zjistil, že když v dotazu připojuju nějaký tabulky (pomocí RIGHT;INNER;LEFT JOIN), musím tak učinit chronologicky postupně od RIGHT po LEFT, tedy například:

1 <?

2
3 mysql_query
("SELECT tabulka1.neco AS neco1, tabulka2.neco AS neco2, tabulka3.neco AS neco3
4 FROM tabulka1
5 INNER JOIN tabulka2 ON tabulka1.id=tabulka2.id
6 LEFT JOIN tabulka3 ON tabulka1.id=tabulka3.id
7 LIMIT 
$start, 30");
8
9
?>

Měl jsem tam původně prvně LEFT JOIN a až poté INNER JOIN. Teď už zpracování dotazu trvá pár setin sekundy :).

Komentáře:

Přidat nový komentář:




Ochrana proti spamu. Napište prosím číslici pět: