Skocz do zawartości

Web Hosting Talk

  • progreso.pl

    Partner technologiczny

    Upraszczamy to, co inni starają się komplikować. Prosto, pewnie, przyjaźnie - tak robimy hosting!
  • Kei.pl

    Partner technologiczny

    Kei.pl działa na polskim rynku internetowym od 2000 roku. Obecnie na blisko 300 serwerach w Centrum Danych Kei.pl znajduje się kilkadziesiąt tysięcy stron WWW.
  • S-NET.info

    Partner technologiczny

    S-NET to dostawca usług dla biznesu. Najważniejsze usługi świadczone przez firmę to usługi Centrum Danych, dostęp do Internetu, transmisja danych oraz tranzyt do różnych operatorów.
  • Sprint Data Center

    Partner technologiczny

    Sprint Data Center to jedyne w Polsce północno-wschodniej i jednocześnie jedno z najnowocześniejszych w kraju centrum przechowywania i przetwarzania danych.

 

Problem z ustawieniem long_query_time


3 odpowiedzi na ten temat

Problem z ustawieniem long_query_time

#1 Glibnes

    Często na forum

  • Użytkownicy
  • 58 postów

Napisany 05 październik 2011 - 16:34

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:

Cytuj

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 10000000
log-queries-not-using-indexes

A w logu mam przykładowo takie wpisy:

Cytuj

# 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?

#2 LANcaster (kotkowicz.pl)

    Nowy użytkownik

  • Użytkownicy
  • 14 postów
  • Skąd:Warszawa
  • Firma:Kotkowicz.pl
  • Imię:Krzysztof
  • Nazwisko:Kotkowicz

Napisany 23 listopad 2011 - 01:47

Zobacz postGlibnes, o 05 październik 2011 - 16:34, powiedział:

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? ;)

#3 Glibnes

    Często na forum

  • Użytkownicy
  • 58 postów

Napisany 29 listopad 2011 - 21:16

Zobacz postLANcaster (kotkowicz.pl), o 23 listopad 2011 - 01:47, powiedział:

grep JOIN /var/log/mysql/mysql-slow.log nie wystarczy? Dodany obrazek

Ja szukam tylko zapytań z JOINami na polach bez indexów, a nie wszystkich.

#4 LANcaster (kotkowicz.pl)

    Nowy użytkownik

  • Użytkownicy
  • 14 postów
  • Skąd:Warszawa
  • Firma:Kotkowicz.pl
  • Imię:Krzysztof
  • Nazwisko:Kotkowicz

Napisany 11 styczeń 2012 - 02:09

Zobacz postGlibnes, o 29 listopad 2011 - 21:16, powiedział:

Ja szukam tylko zapytań z JOINami na polach bez indexów, a nie wszystkich.

http://www.xaprb.com...-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.





1 Użytkowników czyta ten temat

0 użytkowników, 1 gości, 0 anonimowych użytkowników