2012-03-03 65 views

Trả lời

10

Tôi khá chắc chắn rằng max_heap_table_size được đặt thành khoảng 16MB theo mặc định. Vì vậy, tôi lần đầu tiên sẽ kiểm tra những gì nó được thiết lập để bằng cách chạy một truy vấn:

select @@max_heap_table_size;

Và sau đó bạn có thể chạy một truy vấn để thiết lập nó lên:

set @@max_heap_table_size=NUMBER_OF_BYTES;

4

Trong trường hợp bạn không thể thay đổi giá trị đống bạn thử này

Thêm phần này vào mysql/etc/my.cnf

[mysqld] 
tmp_table_size=2G 
max_heap_table_size=2G 

điều này sẽ bao gồm khởi động lại mysql. Để thiết lập các giá trị trong mysqld ngay bây giờ mà không cần khởi động lại chạy này:

SET GLOBAL tmp_table_size = 1024 * 1024 * 1024 * 2; 
SET GLOBAL max_heap_table_size = 1024 * 1024 * 1024 * 2; 

Nếu bạn đang kiểm tra các biến trên với

SELECT @@max_heap_table_size; 

bạn có thể nhận thấy rằng họ dường như không thay đổi sau khi báo cáo SET GLOBAL... . Điều này là do cài đặt chỉ áp dụng cho các kết nối mới với máy chủ. Tạo kết nối mới và bạn sẽ thấy cập nhật giá trị.

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