Enable Logging of Slow Queries (Slow Query Log) in MySQL Database Povoliť Logovanie dotazov Slow (pomalý dotazu Log) v MySQL databáze
One of the main requirements for a fast Jedným z hlavných požiadaviek na rýchle web server webový server is to has efficient and effective SQL statements or queries that are optimized. je má k dispozícii účinné a efektívne, alebo SQL dotazy, ktoré sú optimalizované. Any non-optimal SQL (Structured Query Language) commands or statements that take too long or lengthy time to execute will use up a lot of system resources, causing Nejaké non-optimálne SQL (Structured Query Language), príkazy alebo vyhlásenie, ktoré trvajú príliš dlho alebo zdĺhavé čas na realizáciu bude používať až veľa systémových zdrojov, čo spôsobuje MySQL MySQL database to run slower, and then more and more queries backlogs queuing up, and when connection limit is reached, visitors are been denied or refused connection. Databáza plynúť pomalšie, a potom viac a viac otázok nahromadených fronte, a keď sa dosiahne limit pripojenia, sú návštevníkmi bol odmietnutý, alebo odmietol pripojenie. In worst case scenario, your web server will go down as well, or continuously underperform. V najhoršom prípade bude váš webový server klesať a alebo priebežne horšie. The case is especially true when you are using MyISAM table type which uses table-level locking instead of row-level locking in a high traffic website. Prípade platí najmä vtedy, ak používate MyISAM tabuľky typu, ktorá sa používa ping-uzamykanie na úrovni namiesto riadku-uzamykanie na úrovni vysokej návštevnosti webových stránok.
Sometime, a single SQL query may be the cause of all the server's problems. Niekedy môže jeden SQL dotaz byť príčinou všetkých problémov servera. MySQL has built-in functionality to capture slow query log or identify queries that are not optimal and take a long time to finish, which allows you to log all slow running queries which took over defined number of seconds to execute by MySQL database engine to a file. MySQL je stavaný z-do funkčnosť až k dobyť pomalý dotaz prihlásiť alebo identifikovať otázky, ktoré nie sú optimálne a dlho trvať až do konca, ktorý umožňuje zaznamenávať všetky pomalý beh otázky, ktoré sa počas stanoveného počtu sekúnd vykonať na motore, databázy MySQL súbor. Slow query log is not activated or on by default MySQL installation, thus it is one of the less-used logs. Pomalý dotaz záznam nie je aktivovaná alebo vo východiskovom nastavení inštalácie MySQL, tak to je jeden z menej-používaných protokolov.
To enable slow query log, simply add the following line to MySQL configuration file (my.cnf or my.ini), and then restart the MySQL server: K tomu, aby pomalý dotaz prihlásiť, stačí pridať nasledujúci riadok do konfiguračného súboru MySQL (my.cnf alebo my.ini) a reštartujte server MySQL:
log-slow-queries kláda-pomalý-dotazov
or alebo
log-slow-queries = [path to the log file] kláda-pomalý-dotazov = [cesta k súboru protokolu]
Replace [path to the log file] with actual path to the slow query log file you want the MySQL to write the log to, which is the optional value. Nahraďte [cesta k súboru protokolu] s aktuálne cesta k pomalý dotaz log súbor, ktorý chcete MySQL písať protokol, ktorý je nepovinná.
Or you can start mysqld with with the –log-slow-queries[=file_name] option to enable the slow query log. Alebo môžete začať s mysqld s-kláda-pomalý-dotazov [= filename] voľba zapína pomalý dotaz log. In both syntaxes, if not log file name is specified, the default name is host_name -slow.log, stored in the MySQL data file directory. V oboch syntaxe, ak nie je názov súboru protokolu je uvedené, predvolený názov je host_name-slow.log, uložené v súbore dát MySQL adresára. If a filename is given, but not as an absolute pathname, the server writes the file in the data directory too. Je-li názov súboru je uvedený, ale nie ako absolútne cesty, píše server súbor v adresári data taky.
After enabling slow query log, MySQL will create, capture and log to the log file with all SQL statements that took more than long_query_time seconds to execute, which is by default set to 10 seconds. Po povolení pomalý otázku záznam v MySQL vytvorí, na odchyt a záznam do súboru protokolu so všetkými príkazov SQL, ktoré trvalo viac ako long_query_time seconds to execute, ktorá je štandardne nastavená na 10 sekúnd. The time to acquire the initial table locks is not counted as execution time. Čas na získanie pôvodnej tabuľke zámky sa nezapočítava ako doba realizácie. mysqld writes a statement to the slow query log after it has been executed and after all locks have been released, so log order might be different from execution order. mysqld píše vyhlásenie pomalý dotaz záznam potom, čo bol popravený a potom, čo všetky zámky, ktoré boli vydané, a tak záznam, aby sa môže líšiť od vykonania objednávky.
You can then examine all the SQL queries that took longer than the pre-defined number of seconds (10 seconds by default) in the host_name -slow.log, and then take the necessary steps to optimize the SQL statements. Potom môžete skúmať všetky SQL dotazy, ktoré trvalo dlhšie, ako pre-definovaný počet sekúnd (10 sekúnd default) v host_name-slow.log a potom podnikne potrebné kroky na optimalizáciu SQL príkazov. The slow query log will tell you about what was time the query completed, how long the query took to run, how long it took to secure its locks, how many rows were sent back as a result, how many rows were examined to determine the result, which database was used, and the actual query itself. Pomalý dotaz záznam vám povie, čo bol čas dopytu dokončená, ako dlho trvalo spustiť otázku, ako dlho trvalo na zabezpečenie svojich zámkov, koľko riadkov boli poslaní späť v dôsledku toho, koľko riadkov boli preskúmané za účelom stanovenia výsledok, ktorý bol použitý databázy a aktuálnu otázku sám. But bear in mind that a SQL query contained in the log may have already optimum, but executed slowly due to the system resources been used up by the actual slow statement that need to be fine tuned. Ale majte na pamäti, že otázku SQL obsiahnutých v protokole, môže už optimálne, ale uskutočnená pomaly kvôli systémové prostriedky boli vyčerpané a skutočný pomalý vyhlásenie, ktoré je potrebné jemne vyladené.
IMPORTANT : The page is machine translated and provided "as is" without warranty. Upozornenie: stránka je stroje preložené a za predpokladu, "ako je" bez záruky. Machine translation may be difficult to understand. Strojový preklad môže byť ťažké pochopiť. Please refer to Nájdete na original English article originál Anglicky artikl whenever possible. ak je to možné.
Related Articles Súvisiace články
- Change or Set MySQL Long Query Time Value for log-slow-queries Zmeniť alebo Long Set MySQL Query Time hodnota kláda-pomalý-dotazov
- WordPress MySQL SQL Query Error in WPDB Class WordPress MySQL SQL dotazu Chyba v WPDB triedy
- How to Find and Replace Text in MySQL Database using SQL Ako nájsť a nahradiť text v MySQL databáze pomocou SQL
- Check and Optimize MySQL Database Automatically with Crontab/Cron Skontrolovať a Optimalizácia MySQL databázu automaticky s crontab / Cron
- MySQL Database Performance Tuning Best Practices Video Tutorial Databáza MySQL Performance Tuning Best Practices Video tutorial
- Remove or Trim First or Last Few Characters in MySQL Database with SQL Odstránenie alebo Trim prvý alebo posledný niekoľko znakov v MySQL databáze s SQL
- Enable MySQL InnoDB Storage Engine Support in XAMPP Installation Povoliť MySQL InnoDB Storage Engine Pomoc v XAMPP Inštalácia
- Change and Reset MySQL root Password Zmien a Reset MySQL kmeň slová Heslo
- You Are Not Authorized to Execute SQL Queries in vBulletin Maintenance Nemáte oprávnenie na Execute SQL dotazov do vBulletin Údržba
- Oracle Database Link Oracle Database Link










































July 18th, 2009 02:23 18.července 2009 02:23
when you go to my.cf you will see that by default the lines keď idete na my.cf, uvidíte, že v predvolenom nastavení linky
log_slow_queries = /var/log/mysql/mysql-slow.log & log_slow_queries = / var / log / mysql / mysql-slow.log &
long_query_time = 1 long_query_time = 1
are commented out, however, the next line sú uviedol však, ďalší riadok
log-queries-not-using-indexes log-queries-not-použitie-indexy
is not, so if you enable slow query logging then by default all queries not using indexes will show up in that log. nie je, takže ak vám umožnia pomalý otázku záznam potom v predvolenom nastavení všetky otázky, ktoré nepoužívajú indexy sa zobrazia v tomto protokole. For most DBs this will be a ton of data which is why your logs are filling up so quickly. U väčšiny databáz to bude tonu dát, ktoré sa, prečo je vaše záznamy sa zapĺňajú tak rýchlo.
My suggestion is comment out this line Môj návrh je zakomentujte tento riadok
log-queries-not-using-indexes log-queries-not-použitie-indexy
and change the long_query_time value to something low like 1 or 2, this should give you some meaningful results with which to start from. a zmeňte hodnotu na niečo long_query_time nízke ako 1 alebo 2, aby sa to dá nejaké zmysluplné výsledky, s ktorými sa začať.
If you still get no results it might be that you have no slow queries in which case you should uncomment out the line Ak ešte stále nemáte žiadne výsledky by to mohlo byť, že nemáte pomalý dotazov v takom prípade by ste mali sa odkomentovat riadok
log-queries-not-using-indexes log-queries-not-použitie-indexy
and start trying to index some of those queries. a začať sa snaží index niektoré z týchto otázok.
hope that helps someone dúfam, že pomôže niekto
-Kain -Kain
February 20th, 2009 21:29 20.února 2009 21:29
I use MONyog Query analyzer to analyze slow queries. Používam MONyog Query Analyzer analyzovať pomalý dotazov. It works flawlessly. Funguje to bezvadně.
December 19th, 2008 19:37 19.prosince 2008 19:37
I can't really confirm this – I enabled slow loggin in the appropiate config file (debian lenny, mysql 5.0 latest) because I HAD “some” slow queries before. Nemôžem to potvrdiť - Povolil som pomaly prihlásení do príslušného konfiguračného súboru (debian lenny, MySQL 5.0 najnovších), pretože som mal "nejaký" pomalý dotazov predtým.
After enabling there are thousands of “slow queries” being logged – The slow limit is set to the default of 10 sec. Po povolení existujú tisíce "pomalých dotazov" byť prihlásení - pomalý limit nastavený na predvolenú hodnotu 10 sec. This is really nonsense as there can't be a >10sec query when the whole page is being calculated, by php, tranferred over the net and rendered on the client browser in under 5 sec To je naozaj nezmysel, pretože nemôže byť> 10sec dotaz, keď je celá stránka, ktorú počíta, PHP, tranferred cez sieť a poskytované na prehliadač klienta v rámci 5 sec
greetings Marcus pozdravy Marcus
November 1st, 2008 18:48 1 novembra 2008 18:48
i try to do that but this message appeared Snažím sa robiť, ale, že táto správa sa objavila
081101 5:34:51 [ERROR] Fatal error: Please read “Security” section of the manual to find out how to run mysqld as root! 081101 5:34:51 [ERROR] Fatal error: Prečítajte si, prosím, "Bezpečnosť" v manuále zistiť, ako spustiť mysqld as root!
081101 5:34:51 [ERROR] Aborting 081101 5:34:51 [ERROR] Aborting
081101 5:34:51 [Note] mysqld: Shutdown complete 081101 5:34:51 [Poznámka] mysqld: Shutdown kompletné
what should i do in this case? Čo mám robiť, v tomto prípade?
January 23rd, 2007 00:22 23. januára 2007 00:22
[...] If you enable slow queries log of MySQL database server, you will notice that from the slow query log file contains only SQL statements and queries that took more than query_time of 10 seconds to execute or run. [...] Ak povolíte pomalý otázky log databázového servera MySQL, všimnete si, že z pomalej dotazu log súbor obsahuje iba SQL príkazy a otázky, ktoré trvalo viac ako query_time 10 sekúnd vykonať, alebo spustiť. This is the default value or query time threshold for log_slow_queries function, which is 10 seconds. Toto je predvolená hodnota alebo dotaz čas prah pre log_slow_queries funkciu, čo je o 10 sekúnd. 10 seconds is way too long for a SQL query to complete, so the value may be too high to capture any meaningful data. 10 sekúnd je cesta príliš dlhá pre SQL dotazu dokončiť, takže hodnota môže byť príliš vysoká zachytiť akékoľvek zmysluplné údaje. You can alter or change the slow query time to lower value or number of seconds. Môžete zmeniť alebo zmeniť pomalý dotaz čas nižšiu hodnotu alebo počet sekúnd. You can set a new long_query_time in the MySQL configuration file, namely my.cnf or my.ini, normally located in /etc directory. Môžete nastaviť nový long_query_time v konfiguračnom súbore MySQL, a to my.cnf alebo my.ini, zvyčajne sa nachádza v adresári / etc. Simply add the following line to the configuration file: [...] Stačí pridať nasledujúci riadok do konfiguračného súboru: [...]