Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Thay đổi giá trị max_heap_table_size trong MySQL

max_heap_table_size là biến hệ thống (system variable) xác định kích thước tối đa của bảng MEMORY (HEAP). Giá trị mặc định là 16 MB (16.777.216 bytes).

Kiểm tra giá trị hiện tại

mysql> SELECT @@max_heap_table_size;
+-----------------------+
| @@max_heap_table_size |
+-----------------------+
| 16777216              |
+-----------------------+

Chuyển đổi bytes sang MB: 16777216 / (1024*1024) = 16 MB

Thay đổi giá trị

SET @@max_heap_table_size = so_bytes_moi;

Ví dụ đặt thành 32 MB (33.554.432 bytes):

mysql> SET @@max_heap_table_size = 33554432;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@max_heap_table_size;
+-----------------------+
| @@max_heap_table_size |
+-----------------------+
| 33554432              |
+-----------------------+

mysql> SELECT @@max_heap_table_size / 1048576 AS MB;
+---------+
| MB      |
+---------+
| 32.0000 |
+---------+

Lưu ý quan trọng

  • Thay đổi chỉ có hiệu lực trong session hiện tại (session variable)
  • Để thay đổi vĩnh viễn, sửa file cấu hình my.cnf hoặc my.ini:
    max_heap_table_size = 33554432
  • Giá trị này cũng giới hạn kích thước bảng tạm nội bộ (internal temporary tables)
  • Nếu tăng quá lớn có thể gây thiếu bộ nhớ