Doporučujeme: Zkracovač dlouhých adres | CZ doména zdarma | JSP & Java hosting | Levný PHP webhosting | TV program | Nejlevnější domény | Psí Park
| Zavřít |
klikni pro zmenšení fotky

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áš | 3589× | 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:

  1. MzM16. 5. 2007 11.08

    Náhoda, ptákovina.



    odpovědět
  2. Lukáš16. 5. 2007 14.27

    Odpověď pro Lukáš [2]: Ne, ne. Zkoušel jsem to i u velkých tabulek, a fakt to takto bylo rychlejší.



    odpovědět | Odpovědi: Lukáš [2],

Přidat nový komentář:




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