2011-06-21 27 views
11

Tôi đang sử dụng phiên bản MySQL Server: 5.5.8-log Máy chủ Cộng đồng MySQL (GPL)
Tôi muốn ghi nhật ký truy vấn không sử dụng INDEX và cũng chậm!
Tôi đang sao chép tại đây cài đặt my.ini của mình.Đăng nhập QUERIES không sử dụng INDEX - MySQL

[mysqld]
port = 3306
log = "E: /wamp/logs/genquery.log"

log_slow_queries
long_query_time = 1
slow_query_log = 1
slow_query_log_file = "E: /wamp/logs/slowquery.log "

tôi cần phải thay đổi gì?

Trả lời

26

log_queries_not_using_indexes =1 //(or Yes) (Từ mysql)

+7

Bạn có nên sử dụng những ngày này không? vì bạn kết thúc với các nhật ký truy vấn chậm của GB vì các truy vấn sử dụng các phân số giây sẽ được ghi lại trong trường hợp các chỉ mục không được sử dụng vì không có chỉ mục nhanh hơn – wired00

+0

Tuy nhiên, các truy vấn này sẽ không sử dụng các chỉ mục bất kể chúng vượt quá long_query_time. Câu hỏi được đặt ra cho các truy vấn không có chỉ mục VÀ đang chạy dài. – ClearCrescendo

+0

điều này sẽ ghi lại các truy vấn không sử dụng các chỉ mục không quan tâm đến giá trị long_query_time val? –

5

log_queries_not_using_indexes

Command-Line Format --log-queries-not-using-indexes 
Option-File Format log-queries-not-using-indexes 
Option Sets Variable Yes, log_queries_not_using_indexes 
Variable Name log_queries_not_using_indexes 
Variable Scope Global 
Dynamic Variable Yes 
    Permitted Values 
Type boolean 

Cho dù các truy vấn mà không sử dụng các chỉ số được ghi vào nhật ký truy vấn chậm. Xem Phần 5.2.4,

1

Ngoài a1ex07 của câu trả lời, bạn có thể sử dụng lệnh shell mk-query-digest để ra một báo cáo của bạn đang chạy truy vấn mà không sử dụng các bản ghi.

Xem toàn bộ phương pháp: http://www.xaprb.com/blog/2009/08/18/how-to-find-un-indexed-queries-in-mysql-without-using-the-log/

Như đã đề cập trong bài viết nó cũng có thể nhóm các truy vấn bằng bảng làm --group-by tables --report-format profile

hữu ích để nhanh chóng phát hiện các truy vấn unindexed.

1

Có thể hữu ích cho người dùng Linux. (Testet: Ubuntu 16,04) gốc

Nhận tại nhà ga và chỉnh sửa mysql cấu hình

su 
vim /etc/mysql/conf.d/mysql.cnf 

[mysqld] 
slow_query_log=1 
slow_query_log_file=/var/log/mysql/slow-query.log 
long_query_time=1 
log_queries_not_using_indexes=1 

Thêm log file và máy chủ mysql khởi động lại

touch /var/log/mysql/slow-query.log 
chown mysql:adm /var/log/mysql/slow-query.log 
chmod 640 slow-query.log 
service mysql restart 

thử nghiệm chậm khai thác gỗ với SQL truy vấn

/* Activate query log - Maybe useful to show errors (not necessary) */ 
SET GLOBAL SLOW_QUERY_LOG=ON; 

/* Check if slow query log is working */ 
SELECT SLEEP(2); 
Các vấn đề liên quan