Diskuze: dotazy ma mysql db
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
mě vždycky stačili vnořené dotazy, nikdy jsem rpo jednu věc nepoužil víc jak jeden dotaz.
zistujem ID Kategorie, a ak nejake ID bolo zaregistrovane, tak nasledne posielam dalsi dotaz na db (tabulka Kategorie) ktorym ziskam sub-kategorie ktore sa budu zobrazovat samostatne v navigacnom panely.
Zrovna tohle je dobré sdružit do jednoho dotazu.
SELECT s.nazev FROM sub_kategorie AS s JOIN kategorie AS k
ON s.kategorie_id = k.id
WHERE k.nazev = 'nazev kategorie'
Podobně se dají navázat i subsubkategorie.
Stromová data se z databáze sice tahají divně, ale jde to. Nezkoumal jsem vše, co jsi napsal, ale možná by se to dalo všechno zvládnout jedním vrzem.
Spousta vývojářů však napíše 5 SQL dotazů a neřeší to.
narychlo som si to precital, ale zbytocne pouzivas vela hednoduchych qyeries, co takto pospajat ich do jedneho a riesit to pomocou neho? ako na to, najdes v tutorialoch a v komentaroch pod nimi
ked pouzivas viacnasobne query a v PHP to spojis do vysledku, tak neunormne klesa vykonnost kodu a casto sa stane, ze aj neoptimalizovane query je ovela vykonnejsie ako viacero mensich
V tom případě se dá použít tohle:
http://www.itnetwork.cz/…y-z-databaze
Zjednodušeně řešeno: Stáhneš si celou tabulku a v paměti z ní teprve uděláš strom. V relační databázi se tohle bez přídavných sloupců efektivně řešit nedá.
Neviem ci som to spravne pochopil, takze z mysql db si len vytiahnem celu
tabulku Kategorii ktoru by som mal natiahnut do sqlite tabulky v pamati a tam
prevediem vysledny select na ziskanie stromu?
Nejako mi neni jasne to naplnenie tabulky v pamati, mozes uviest nejaky
priklad?
$mem_db = new PDO('sqlite::memory:')
$mem_db->exec("CREATE TABLE Kategoria...)
$update = "UPDATE Kategoria...")
$mem_db->exec($update)
Zobrazeno 7 zpráv z 7.