Theo trang 99 của "Tìm hiểu về Nội bộ MySQL" (ISBN 0-596-00957-7) , đây là đoạn 1-3 giải thích về nó:
Mã giao tiếp mạng MySQL được viết theo giả định rằng các truy vấn luôn luôn ngắn một cách hợp lý và do đó có thể được gửi đến và xử lý bởi máy chủ trong một đoạn, được gọi là một gói theo thuật ngữ MySQL. Máy chủ phân bổ bộ nhớ cho bộ đệm tạm thời để lưu trữ gói và nó yêu cầu đủ để phù hợp với nó hoàn toàn. Kiến trúc này yêu cầu một biện pháp phòng ngừa để tránh việc máy chủ hết bộ nhớ --- giới hạn về kích thước của gói, tùy chọn này thực hiện.
Mã quan tâm liên quan đến tùy chọn này được tìm thấy trong
sql / net_serv.cc . Hãy xem my_net_read () , sau đó thực hiện cuộc gọi đến my_real_read () và đặc biệt chú ý đến
net_realloc () .
Biến này cũng giới hạn độ dài của kết quả của nhiều chuỗi functon. Xem sql / field.cc và
sql / intem_strfunc.cc để biết chi tiết.
Đây có lẽ là lời giải thích đầy đủ nhất về max_allowed_packet tôi từng thấy. Tôi đã gõ 3 đoạn đó ngay từ cuốn sách.