Glibnes 0 Zgłoś post Napisano Październik 5, 2011 Mam problem z ustawieniem zmiennej log-queries-not-using-indexes. Ogólnie potrzebuję znaleźć zapytania, które wykonują się z JOINami ale te są przeprowadzane bez Indexów (szukam ich wg. zaleceń mysqltunera). Tak ustawiłem swój plik my.cnf dla wolnych zapytań i zapytań bez indexów: log_slow_queries = /var/log/mysql/mysql-slow.loglong_query_time = 10000000 log-queries-not-using-indexes A w logu mam przykładowo takie wpisy: # Time: 111005 17:26:01# Query_time: 0.000174 Lock_time: 0.000035 Rows_sent: 71 Rows_examined: 71 SELECT * FROM tabela1; (...) # Query_time: 0.001019 Lock_time: 0.000046 Rows_sent: 1 Rows_examined: 302 SELECT COUNT(`id`) FROM tabela2 WHERE `onlinetime` >= (UNIX_TIMESTAMP() - 900); Jak widać, log jest czuły nawet na głupie zapytania pobierające np. listę użytkowników online. Czy jest jakiś sposób żeby do logu zapisywały się zapytania tylko z JOINami bez indexów? Udostępnij ten post Link to postu Udostępnij na innych stronach
LANcaster (kotkowicz.pl) 52 Zgłoś post Napisano Listopad 23, 2011 Mam problem z ustawieniem zmiennej log-queries-not-using-indexes. Ogólnie potrzebuję znaleźć zapytania, które wykonują się z JOINami ale te są przeprowadzane bez Indexów (szukam ich wg. zaleceń mysqltunera). Tak ustawiłem swój plik my.cnf dla wolnych zapytań i zapytań bez indexów: A w logu mam przykładowo takie wpisy: Jak widać, log jest czuły nawet na głupie zapytania pobierające np. listę użytkowników online. Czy jest jakiś sposób żeby do logu zapisywały się zapytania tylko z JOINami bez indexów? grep JOIN /var/log/mysql/mysql-slow.log nie wystarczy? Udostępnij ten post Link to postu Udostępnij na innych stronach
Glibnes 0 Zgłoś post Napisano Listopad 29, 2011 grep JOIN /var/log/mysql/mysql-slow.log nie wystarczy? Ja szukam tylko zapytań z JOINami na polach bez indexów, a nie wszystkich. Udostępnij ten post Link to postu Udostępnij na innych stronach
LANcaster (kotkowicz.pl) 52 Zgłoś post Napisano Styczeń 11, 2012 Ja szukam tylko zapytań z JOINami na polach bez indexów, a nie wszystkich. http://www.xaprb.com/blog/2009/08/18/how-to-find-un-indexed-queries-in-mysql-without-using-the-log/ Tu masz metodę, która pomoże Ci to sprawdzić nieco na około, natomiast całkowicie wykluczając zapytania, które wpadły by do slow-loga, mimo, że używają indeksów. Udostępnij ten post Link to postu Udostępnij na innych stronach