Zadejte hledaný výraz...

Problem s dotazem ? Zvlastni chovani MySQL

Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
6. 9. 2012 20:30:52
Dobry den .
Mam problem .
U mysql mi hlasi spoustu pomalych dotazu.
Velice divne je ze to hlasi u dotazu typu: SELECT sloupec,sloupec1,2,3.. FROM tabulka
nebo u SET timestamp = ''
A tyto jednoduche dotazy se vykonavali az 8 - 15 vterin.
Premyslel jsem ze duvodem muze byt locknuti tabulky. Ale nevidim duvod proc by mel tabulku lockovat.
Jedine v pripade reindexovani ? Ale proc ? Index se nachazi pouze na titulku. A upravuje se pouze stav zobrazeni.
Stav a konfigurace databaze:
InnoDb
Velikost databaze: 114 MB
Jak dlouho MySQL bezi od restartovani: 1 den 1 hodinu 24 minut.
Pocet dotazu od doby spusteni: 6 093 336 ( sice nevim kde se ty dotazy berou, ale prijde mi jich nejak moc )
Pocet long queries od spusteni: 8 168 ( toto cislo se mi zda velice vysoke ).
Zvlastni je to ze to nema proc delat a to z duvodu ze se v systemu nenachazi skoro jedinny join, a jedinny select ktery by vypadal takto: select * nenachazi se tam zadne vnorene selecty.
A long queris mi to haze na nesmyslne queries ...
Prosim o rady nebo pripadne skusenosti rad si s nekym o problemu popovidam pokud ma chvili cas.
Dekuji
skype: softdream2122
icq: info@softdream.net
6. 9. 2012 20:30:52
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805249
init.22
verified
rating uzivatele
(7 hodnocení)
6. 9. 2012 20:55:54
resili jsme podobny problem, zkus prepocitat statistiky tabulek - pokud se to nedela nejakym agentem uz od zacatku, tak po nejake dobe pri rostoucim poctu zaznamu se muze i pro trivialni dotazy pouzit spatny optimalizacni algoritmus, protoze si engine mysli, ze pracuje s par radky dat .. nemusi to zlobit jen pri joinech, ale i pri selekci .. koukni napr. sem http://www.mysqlperformanceblog.com/2011/10/06/when-does-innodb-update-table-statistics-and-when-it-can-bite/
6. 9. 2012 20:55:54
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805248
Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
6. 9. 2012 21:15:27
Myslim ze tohle muj problem neresi a v tom clanku tusim popisuje vypnuti jiste funkce MySQL premyslel jsem zdali nemuze delat problem v tabulce zbyla data po smazani a updatech, jiste tabulky jsou velice frekventovane co se updatu tyce a take co se mazani tyce. A take jsou celkem velke.
Zdali nemuzou delat problemy smazane zaznamy a updatnute zaznamy. Jelikoz fyzicky se vlastne nikdy nesmazou smazou se az po spusteni prikazu: OPTIMIZE TABLE tabulka.
6. 9. 2012 21:15:27
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805247
gord007
verified
rating uzivatele
6. 9. 2012 21:39:03
A na jaké sloupce je v té tabulce index? Pokud jen na titulku, tak tam může být problém... Každá tabulka by měla mít primární klíč, který bude nejlépe AUTO_INCREMENT a tedy číselný..
6. 9. 2012 21:39:03
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805246
Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
6. 9. 2012 21:40:26
Samozrejme ze je index a auto_increment na id s indexem, potom je index este na titulek pro vyhledavani.
6. 9. 2012 21:40:26
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805245
Sniper
verified
rating uzivatele
6. 9. 2012 21:47:14
a co ti rekne explain a query plan? Nedela v tom selectu nejaky nacitani celych tech 120MB? Kolik pameti ma stroj a mysql k dispozici?
6. 9. 2012 21:47:14
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805244
Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
6. 9. 2012 22:09:10
SELECT
data:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE wc_file ALL NULL NULL NULL NULL 62821 Using where
To je klasicky select pro vyhledavani jednotlivych souboru nejvic vyuzivana tabulka. Nejvic pouzivany select.
6. 9. 2012 22:09:10
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805243
naniccz
verified
rating uzivatele
(3 hodnocení)
6. 9. 2012 22:14:52
name LIKE '%test%'
je výkonnostní problém.
a) Pokud je předem daná množina hledaných podřetězců, udělat si pomocné identifikační flagy.
b) Pokud ne, zkusit použít fulltext (a tedy index).
c) Možná to není potřeba, protože po omezení private=0 zbývají max stovky možností. Pak by ale patřil index na sloupec private.
6. 9. 2012 22:14:52
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805242
Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
6. 9. 2012 22:23:08
Napsal naniccz;841506
je výkonnostní problém.
a) Pokud je předem daná množina hledaných podřetězců, udělat si pomocné identifikační flagy.
b) Pokud ne, zkusit použít fulltext (a tedy index).
c) Možná to není potřeba, protože po omezení private=0 zbývají max stovky možností. Pak by ale patřil index na sloupec private.
c) private index ma, fulltext na to by bylo potreba zmeny enginu. Jsou 4 indexy, a to na id, name, private a display. kde id, private a display jsou INT.
6. 9. 2012 22:23:08
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805241
naniccz
verified
rating uzivatele
(3 hodnocení)
6. 9. 2012 22:27:34
Index na private ovšem DB nepoužila (pravděpodobně kvůli té podmínce na name) podle vašeho EXPLAINu. Jen pro info, kolik z těch 63 tisíc řádků má private=0? Jestli vůbec tato podmínka má šanci pomoci omezit porovnávání LIKE na nějakou rozumnou množinu...
6. 9. 2012 22:27:34
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805240
Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
6. 9. 2012 22:31:09
Pardon skopiroval jsem data z jineho selectu bez private.
Zde posilam aktualni data:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE wc_file ALL private NULL NULL NULL 55019 Using where
6. 9. 2012 22:31:09
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805239
takatom
verified
rating uzivatele
(2 hodnocení)
6. 9. 2012 22:33:46
zveřejněte prosím ještě create table
6. 9. 2012 22:33:46
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805238
naniccz
verified
rating uzivatele
(3 hodnocení)
6. 9. 2012 22:34:10
Ovšem ani zde se index nepoužil, čtu-li to správně: possible_keys: private; key: NULL. Může to být proto, že private=0 platí pro (téměř) všechny řádky. Porovnává se všech 55 tisíc řádků, jeden po druhém na tu podmínku...
6. 9. 2012 22:34:10
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805237
Sniper
verified
rating uzivatele
6. 9. 2012 22:35:46
coz je jedno, protoze tady se taky zadnej index nepouzije. Zkus dat tu podminkz and private=0 pred ten like. A podivej se jakej je pomer zaznamu private=0 vs. ostatni. Tohle co tu pises skutecne znamena ze prochazi celou tabulku radek po radku coz u desitek/stovek tisic radku muze bejt problem.
6. 9. 2012 22:35:46
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805236
Kamil Hurajt
verified
rating uzivatele
(8 hodnocení)
6. 9. 2012 22:36:47
Napsal takatom;841518
zveřejněte prosím ještě create table
6. 9. 2012 22:36:47
https://webtrh.cz/diskuse/problem-s-dotazem-zvlastni-chovani-mysql#reply805235
Pro odpověď se přihlašte.
Přihlásit