2011-08-17 32 views
6

tôi thấy có một lựa chọn tốt đẹp như thế nào để cho phép truy vấn chậm đăng nhập và truy vấn mà không cần chỉ số:Làm thế nào để đăng nhập truy vấn mySQL mà không có chỉ mục?

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

OK, OK, nhưng có vẻ như cả hai viết trong file log cùng tôi đã quy định tại tập tin cấu hình my.cnf :

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

Tôi sử dụng mysqldumpslow để xem các truy vấn chậm nhất, nhưng những gì tôi cần làm để xem riêng các truy vấn không có chỉ mục?

Bạn có thể giúp tôi không?

Cảm ơn bạn trước!

nhất,

Jakub

+0

Tôi nghĩ bạn sẽ phải thực hiện từng bước một. –

+0

BTW, hãy kiểm tra mysqlsla dưới dạng nhật ký phân tích: http://hackmysql.com/mysqlsla – Dor

Trả lời

7

Bạn không thể. Tệp nhật ký là tệp văn bản và bạn không thể suy ra tệp đó cho dù truy vấn đã sử dụng chỉ mục tại thời điểm thực thi đó hay chưa. Ngoài ra, tùy chọn log-queries-not-using-indexes không nhất thiết phải đăng nhập truy vấn người không sử dụng một chỉ số, see:

Nếu bạn đang sử dụng tùy chọn này với các bản ghi truy vấn chậm kích hoạt, truy vấn được dự kiến ​​sẽ lấy tất cả các hàng được ghi lại. Xem Phần 5.2.5, “Nhật ký truy vấn chậm”. Tùy chọn này không nhất thiết có nghĩa là không sử dụng chỉ mục . Ví dụ: truy vấn sử dụng quét chỉ mục đầy đủ sử dụng chỉ mục nhưng sẽ được ghi lại vì chỉ mục sẽ không giới hạn số hàng .

Các vấn đề liên quan