Zadejte hledaný výraz...

SQL Dotaz – Komentáře

Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
26. 6. 2012 18:46:07
Zdravím,
Mám dotaz, vytahuji komentáře z databáze, mám tam normálně unikatní ID, jméno, datum, typ a samotný komentář. komentáře vytahuju podle typu, to znamená komentáře ve fóru rozlišuju podle typ = 'forum_{ID}', komentáře v galerii podle typ = 'galerie_{ID}', no záznamů už tam mám přesně 218.574 a stává se mi, že SQL dotaz kterým komentáře vytahuji (nic složitého jen podle toho typu tzn. SELECT * FROM komentare WHERE typ='xxxx' ORDER BY datum DESC) většinou trvá 0.40 až 0.50 sekund, což na 1 sql dotaz není vpořádku, ale někdy zase trvá (dle PHPMyAdmina) 0.0001 sec, ale důležitý je ten dotaz napoprvé a to trvá půl sekundy. Je to normální? Jak jinak by se komentáře daly řešit? Díky za odpověďi.
26. 6. 2012 18:46:07
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779155
Nastavit primární klíče a používat innoDb nebo myIsam :)
26. 6. 2012 18:47:49
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779154
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
26. 6. 2012 18:50:15
Používám myisam a primary key používám pro to unikatní ID, mám používát i pro něco jiného jo? Co přesně?
26. 6. 2012 18:50:15
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779153
Myslel jsem primární i cizí klíče, což umožňuje innoDB. MyIsam by měla být rychlejší. Možné je, že je chyba někde na straně DB serveru a nebo je špatně navržená celá struktura databáze.
26. 6. 2012 18:54:25
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779152
acidclick
verified
rating uzivatele
26. 6. 2012 18:57:17
a hod to sem.
26. 6. 2012 18:57:17
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779151
hm
verified
rating uzivatele
(20 hodnocení)
26. 6. 2012 18:59:45
mas tam nekde sloupec typu TEXT ci BLOB? :) protoze ty se vzdy ctou z disku a to vetsinou zpusobuje tyhle komplikace... kde muzes pouzivej jen varchar (v mysql muze byt dost velky aby to stacilo na komentar)
26. 6. 2012 18:59:45
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779150
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
26. 6. 2012 19:13:43
Je potřeba mít správně navrženou tabulku a indexy
Pro dotaz:
Po úpravě tabulky použijte:
a měl byste dostat dobrý výsledek.
26. 6. 2012 19:13:43
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779149
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
26. 6. 2012 19:17:00
Právě komentář mám jako TEXT, ale pokud se nepletu varchar je omezen ne? Nevím přesně na kolik teď vím že na text když vím jak bude maximálně dlouhý dávám varchar vždycky, ale právě na komentáře dávám text. Najdu si kolik vůbec je varchar omezen.
Acidlick
id: 1
select_type: SIMPLE
table: komentare
type: index
possible_keys: NULL
key: PRIMARY
key_len: 3
ref: NULL
rows: 218684
extra: Using where
26. 6. 2012 19:17:00
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779148
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
26. 6. 2012 19:21:39
Napsal denoy;812492
Acidlick
id: 1
select_type: SIMPLE
table: komentare
type: index
possible_keys: NULL
key: PRIMARY
key_len: 3
ref: NULL
rows: 218684
extra: Using where
Tak tady vidíte ten problém, při každém dotazu se prochází všechny komentáře, ale měli by se procházet pouze ty v zadaný den a typ :)
Pardon, zadny typ, ne datum.
26. 6. 2012 19:21:39
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779147
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
26. 6. 2012 19:27:58
Tyvado, už to frčí 0.04 sec s celým obsahem i komentářema a zase jsem o něco chytřejší, nikdy jsem tohle neřešil, protože jsem měl sql dotaz vždy v rámci času no jdu teď kontrolovat další tabůlky, díky moc!
26. 6. 2012 19:27:58
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779146
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
26. 6. 2012 19:50:09
Doporučuji tento článek od Jakuba Vrány: http://php.vrana.cz/ukazka-pouziti-indexu.php
26. 6. 2012 19:50:09
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779145
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
26. 6. 2012 21:32:24
článek jsem si přečetl a předělal 1/2 svých tabulek a je to skvělé jak rychle to čte, každopádně mám jěště technicky dotaz na jeden můj SQL dotaz jak na něj, protože mi to pořád píše rows: 70.000 přiemž tolik má obsah ta tabůlka, takže to prohledává všechny záznamy a Extra: Using where; Using filesort, nevím jak na to. Tady je SQL Dotaz:
26. 6. 2012 21:32:24
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779144
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
26. 6. 2012 21:55:58
Napsal denoy;812567
článek jsem si přečetl a předělal 1/2 svých tabulek a je to skvělé jak rychle to čte, každopádně mám jěště technicky dotaz na jeden můj SQL dotaz jak na něj, protože mi to pořád píše rows: 70.000 přiemž tolik má obsah ta tabůlka, takže to prohledává všechny záznamy a Extra: Using where; Using filesort, nevím jak na to. Tady je SQL Dotaz:
Postupujte stejně, pokud je to možné, nastavte sloupce s pevnou délkou a navrhněte indexy dle dotazů, které nad tabulkou voláte. Bez struktury tabulky Vám víc nepomohu.
26. 6. 2012 21:55:58
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779143
Užitečný článek taky jsem trošku předělal svojí DB a je to znát citelně :-)
26. 6. 2012 22:03:02
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779142
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
27. 6. 2012 11:01:04
Možná to tam píšou, pokud ano tak jsem to přehlídnul, ale taky to značně uspoří HW ne? Alespon já jsem zaznamenal značný pokles zátěžě.
27. 6. 2012 11:01:04
https://webtrh.cz/diskuse/sql-dotaz-komentare#reply779141
Pro odpověď se přihlašte.
Přihlásit