2011-08-17 14 views
6

widzę jest miła opcja, jak włączyć dziennika powolne kwerendy i zapytań bez indeksów:Jak rejestrować zapytania mySQL bez indeksów?

SET GLOBAL log_queries_not_using_indexes=1; 
    SET GLOBAL log_slow_queries=1; 

OK, OK, ale wydaje się, zarówno pisać w tym samym pliku dziennika mam określonego w pliku konfiguracyjnym my.cnf :

[mysqld] 
    long_query_time   = 1 
    log-slow-queries  = /var/log/mysql/mysql-slow.log 

używam mysqldumpslow zobaczyć najwolniejszy kwerend, ale to, co muszę zrobić, aby zobaczyć, że osobno zapytania bez indeksów?

Czy możesz mi pomóc?

Z góry dziękuję!

Best,

Jakub

+0

Myślę, że będziesz musiał zrobić to krok po kroku. –

+0

BTW, sprawdź mysqlsla jako analizator logów: http://hackmysql.com/mysqlsla – Dor

Odpowiedz

7

Nie możesz. Plik logu jest plikiem tekstowym i nie można z niego wywnioskować, czy zapytanie użyło indeksu w tym czasie wykonania. Również opcja log-queries-not-using-indexes nie zapytań, które nie są przy użyciu indeksu muszą zalogować, see:

Jeśli używasz tej opcji z powolnego dziennika zapytań włączona, odpytuje że oczekuje się, aby pobrać wszystkie wiersze są zalogowani. Patrz rozdział 5.2.5, "Dziennik powolnego zapytania". Ta opcja niekoniecznie oznacza, że ​​nie jest używany indeks . Na przykład zapytanie korzystające z pełnego skanowania indeksu korzysta z indeksu, ale będzie rejestrowane, ponieważ indeks nie ograniczy liczby wierszy w .

Powiązane problemy