Computer >> Máy Tính >  >> Lập trình >> MySQL

Thay đổi giá trị max_heap_table_size trong MySQL?

Max_heap_table_size là một biến hệ thống có cả thuộc tính đọc / ghi.

Ban đầu, max_heap_table_size có kích thước 16 MB. Đầu tiên, hãy kiểm tra giá trị của max_heap_table_size, tính bằng byte.

Truy vấn như sau -

mysql> select @@max_heap_table_size;

Sau đây là kết quả -

+-----------------------+
| @@max_heap_table_size |
+-----------------------+
| 16777216              |
+-----------------------+
1 row in set (0.00 sec)

Bây giờ hãy để chúng tôi làm thế nào giá trị 16777216 byte =16 MB -

1 MB = 1024KB
1KB = 1024 Bytes
1MB = 1024*1024 bytes.
To convert 16777216 byte to MB you need to divide 1024*1024.
=16777216/(1024*1024)
=16777216/1048576
=16 MB

Bây giờ bạn có thể thay đổi max_heap_table_size bằng lệnh SET. Cú pháp như sau -

SET @@@@max_heap_table_size=yourNumberOfBytes.

Hãy để chúng tôi thay đổi giá trị max_heap_table_size. Số byte là 33554432, bằng 32 MB.

Truy vấn như sau -

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

Bây giờ hãy kiểm tra giá trị của @@ max_heap_table_size. Truy vấn như sau -

mysql> select @@max_heap_table_size;

Sau đây là kết quả -

+-----------------------+
| @@max_heap_table_size |
+-----------------------+
| 33554432              |
+-----------------------+
1 row in set (0.00 sec)

Hãy để chúng tôi xem nó có bằng 32MB hay không. Các công thức được sử dụng ở đây đã được thảo luận ở trên -

mysql> select @@max_heap_table_size/1048576 as MB;

Sau đây là kết quả -

+---------+
| MB      |
+---------+
| 32.0000 |
+---------+
1 row in set (0.00 sec)