Kde se naučit SQL

Jano bez internetu

Re:Kde se naučit SQL
« Odpověď #60 kdy: 23. 10. 2017, 14:22:59 »
Konkrétně chci po svých lidech, aby mi vysvětlili jakoukoliv situaci, kdy je potřeba víc než 5 dotazů do databáze na stránku, a to si přijdu často jako velkorysý. Zbytek se dá provést složeným dotazem a inteligentní prací s navrácenými daty.

Takže to udělejme opačně. Napište mi, kde si myslíte, že je potřeba dotazů víc.

jednoduchy eshop, pristup na stranku www.shop.local/en/vlnene-ponozky co je kategoria s produktami. Len tak z hlavy ma napada hned 10 vecy, ktore treba z Db vytiahnut:

1. slug (/vlnene-ponozky je kategoria s ID = 123)
2. category info (name, description,..)
3. produkty v kategorii, ktore na stranke zobrazim (filtre, sort, strankovanie)
4. zakaznikov kosik (kolko ma produktov a celkova cena)
5. zakaznikov wishlist (kolko ma produktov vo wishliste)
6. nejaky SEO CMS text priradeny ku kategorii
7. user session ak mam v DB
8. reklamny banner
9. navigacia (strom kategorii)
10. nejake boxy (bestsellers, new products,..)

to fakt nutite programatorov tychto desat dotazov do DB zlucovat do jedneho?!  ::)


Kit

Re:Kde se naučit SQL
« Odpověď #61 kdy: 23. 10. 2017, 15:02:02 »
Konkrétně chci po svých lidech, aby mi vysvětlili jakoukoliv situaci, kdy je potřeba víc než 5 dotazů do databáze na stránku, a to si přijdu často jako velkorysý. Zbytek se dá provést složeným dotazem a inteligentní prací s navrácenými daty.

Takže to udělejme opačně. Napište mi, kde si myslíte, že je potřeba dotazů víc.

jednoduchy eshop, pristup na stranku www.shop.local/en/vlnene-ponozky co je kategoria s produktami. Len tak z hlavy ma napada hned 10 vecy, ktore treba z Db vytiahnut:

1. slug (/vlnene-ponozky je kategoria s ID = 123)
2. category info (name, description,..)
3. produkty v kategorii, ktore na stranke zobrazim (filtre, sort, strankovanie)
4. zakaznikov kosik (kolko ma produktov a celkova cena)
5. zakaznikov wishlist (kolko ma produktov vo wishliste)
6. nejaky SEO CMS text priradeny ku kategorii
7. user session ak mam v DB
8. reklamny banner
9. navigacia (strom kategorii)
10. nejake boxy (bestsellers, new products,..)

to fakt nutite programatorov tychto desat dotazov do DB zlucovat do jedneho?!  ::)

Tohle se do těch pěti dotazů v pohodě vejde.

Re:Kde se naučit SQL
« Odpověď #62 kdy: 23. 10. 2017, 15:08:34 »
to fakt nutite programatorov tychto desat dotazov do DB zlucovat do jedneho?!  ::)

Ano, nutím. Protože ne všechno se musí brát z databáze. Já jsem nepsal, že víc nepřipustím, ale chci, aby to programátoři uměli odůvodnit. Např. reklamní systém nemá dělat v té samé databázi, jako je e-shop, kvůli riziku blokování, obzvlášť, pokud zaznamenává statistiky.

1+2+3+6 = může být jeden dotaz dle stránky, kde jsem (klíčem je ID kategorie, případně ID kategorie+ID uživatele).
4+5+7 = druhý dotaz, protože klíčem je ID uživatele (session podle mě v databázi nemá co dělat, maximálně v redisu)
9 = třetí dotaz, ale asi bych zvažoval cache
10 = záleží na situaci

ehmmm

Re:Kde se naučit SQL
« Odpověď #63 kdy: 23. 10. 2017, 22:11:04 »
to fakt nutite programatorov tychto desat dotazov do DB zlucovat do jedneho?!  ::)

Ano, nutím. Protože ne všechno se musí brát z databáze. Já jsem nepsal, že víc nepřipustím, ale chci, aby to programátoři uměli odůvodnit. Např. reklamní systém nemá dělat v té samé databázi, jako je e-shop, kvůli riziku blokování, obzvlášť, pokud zaznamenává statistiky.

1+2+3+6 = může být jeden dotaz dle stránky, kde jsem (klíčem je ID kategorie, případně ID kategorie+ID uživatele).
4+5+7 = druhý dotaz, protože klíčem je ID uživatele (session podle mě v databázi nemá co dělat, maximálně v redisu)
9 = třetí dotaz, ale asi bych zvažoval cache
10 = záleží na situaci

1+2+6 chapu, ale neprijde mi moc prakticke k tomu pridavat 3. Jestli v te kategorii mam 90 druhu ponozek, tak u kazdeho z nich asi nechci mit i 1+2+6.

Kit

Re:Kde se naučit SQL
« Odpověď #64 kdy: 23. 10. 2017, 22:40:21 »
to fakt nutite programatorov tychto desat dotazov do DB zlucovat do jedneho?!  ::)

Ano, nutím. Protože ne všechno se musí brát z databáze. Já jsem nepsal, že víc nepřipustím, ale chci, aby to programátoři uměli odůvodnit. Např. reklamní systém nemá dělat v té samé databázi, jako je e-shop, kvůli riziku blokování, obzvlášť, pokud zaznamenává statistiky.

1+2+3+6 = může být jeden dotaz dle stránky, kde jsem (klíčem je ID kategorie, případně ID kategorie+ID uživatele).
4+5+7 = druhý dotaz, protože klíčem je ID uživatele (session podle mě v databázi nemá co dělat, maximálně v redisu)
9 = třetí dotaz, ale asi bych zvažoval cache
10 = záleží na situaci

1+2+6 chapu, ale neprijde mi moc prakticke k tomu pridavat 3. Jestli v te kategorii mam 90 druhu ponozek, tak u kazdeho z nich asi nechci mit i 1+2+6.

I s touto výhradou se stále vejdeme do těch pěti dotazů. Ovšem neděláme zde rozbor konkrétního webu. V reálu bychom se dostali na běžné 2-3 SQL dotazy a 5 dotazů by mělo stačit téměř na vše.