2012-07-24 27 views
5

Tôi có một truy vấn xóa mất nhiều thời gian. Khi tôi đăng ký processlist trạng thái đó hiển thị là "các bảng đóng". Mất nhiều thời gian để đóng các bảng.Trạng thái MySQL "các bảng đóng" lấy gấp đôi thời gian của quá trình

Ví dụ:
tôi chạy một truy vấn và tổng thời gian là 01:42 giây và trong đó 80-90 giây là dành cho bảng bế mạc.

Điều này xảy ra cho tất cả các truy vấn như load data, selectinsert.

Dưới đây là my.cnf cài đặt:

key_buffer_size = 2G 
sort_buffer_size = 8M 
read_buffer_size = 10M 
read_rnd_buffer_size = 10M 
join_buffer_size = 2M 
bulk_insert_buffer_size = 100M 
myisam_sort_buffer_size = 64M 

#tmp_table_size = 100M 
#max_heap_table_size = 64M 
#max_allowed_packet = 64M 

table_cache=1024 


meminfo My

[[email protected] ~]# free -m 
      total  used  free  shared buffers  cached 
Mem:   7862  6686  1175   0   11  4091 
-/+ buffers/cache:  2583  5278 
Swap:  15998   18  15980 


Xin cho biết những loại thay đổi mà tôi cần phải làm gì trong my.cnf tập tin?

+0

_Lưu ý phụ: _ cố gắng tránh đăng các câu hỏi trùng lặp trên mạng _StackExchange_. Theo như tôi có thể thấy bạn đăng cùng một câu hỏi [ở đây] (https://dba.stackexchange.com/questions/21446/mysql-closing-tables-taking-double-the-time-of-process). – informatik01

Trả lời

0

bảng đóng

Chủ đề đang xóa dữ liệu bảng đã thay đổi thành đĩa nd đóng các bảng đã sử dụng. Đây sẽ là một hoạt động nhanh. Nếu không, bạn nên xác minh rằng bạn không có một đĩa đầy đủ và đĩa không phải là sử dụng rất nặng.

Bạn có thể xem General MySql Thread States để biết thêm chi tiết.

Hope trợ giúp này!

+1

Câu trả lời này được [sao chép từ câu trả lời này] (http: // dba.stackexchange.com/a/21461/78772) - ít nhất bạn cũng có thể tham chiếu nó. –

+0

@ sankar-suda Bạn cũng có thể thử chạy thử nghiệm [Monyog] (https://www.webyog.com/product/monyog) và kiểm tra xem nó có cung cấp một số thông tin chi tiết hay không. Khi tôi có thể tìm ra thứ gì đó thường thì một số công cụ giúp bạn. –

0

Kiểm tra giá trị của hai biến này cũng quan trọng để cải thiện hiệu suất mysql trong trường hợp này.

query_cache_size: - Bộ nhớ cache truy vấn bị xóa trên mỗi lần chèn, điều này sẽ cản trở hiệu suất của MySQL khi tăng chi phí. Kiểm tra xem giá trị có quá cao không và bằng Megabyte.

Innodb_flush_log_at_trx_commit: - Bạn có thể đặt nó vào 0 (tập tin đăng nhập được vào đĩa đỏ mặt mỗi giây), 1 (file log là đỏ ửng vào đĩa cho mọi cam kết) và 2 (file log là đỏ ửng lên trong mỗi khoảng thời gian ngắn trong giây).

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