Trước hết, tôi mới để tối ưu hóa mysql. Thực tế là tôi có trong ứng dụng web của tôi (khoảng 400 truy vấn mỗi giây), một truy vấn sử dụng một GROUP BY
mà tôi không thể tránh và đó là nguyên nhân tạo ra các bảng tạm thời. cấu hình của tôi là:Cấu hình bảng tạm thời MySQL tối ưu (bảng bộ nhớ)?
max_heap_table_size = 16M
tmp_table_size = 32M
Kết quả: bảng temp vào đĩa trăm + - 12,5%
Sau đó, tôi đã thay đổi các thiết lập của tôi, theo this post
max_heap_table_size = 128M
tmp_table_size = 128M
Kết quả: bảng temp vào đĩa phần trăm + - 18%
Kết quả không được mong đợi, không hiểu tại sao.
Đó là sai tmp_table_size = max_heap_table_size
? Không nên tăng kích thước?
Query
SELECT images, id
FROM classifieds_ads
WHERE parent_category = '1' AND published='1' AND outdated='0'
GROUP BY aux_order
ORDER BY date_lastmodified DESC
LIMIT 0, 100;
GIẢI THÍCH
| 1 |SIMPLE|classifieds_ads | ref |parent_category, published, combined_parent_oudated_published, oudated | combined_parent_oudated_published | 7 | const,const,const | 67552 | Using where; Using temporary; Using filesort |
Không cần phải xin lỗi - tiếng Anh của bạn khá tốt. –
Đồng ý với Ngựa giống OMG; chúng tôi hy vọng không ai sẽ bị ngăn cản khi đặt câu hỏi trong trường hợp tiếng Anh của họ không xuất sắc. –
Tiếng Anh viết của bạn tốt hơn so với một số đồng nghiệp tiếng Anh bản xứ mà tôi gặp khó khăn khi làm việc cùng! :) –