Bạn cần lịch sử của InnoDB để hiểu lý do tại sao. Nó đi từ đây:
CÂU CHUYỆN WAR
InnoDB và bộ đệm truy vấn luôn trong tình trạng chiến tranh liên tục. InnoDB có xu hướng rất nặng tay khi kiểm tra các thay đổi trong Nhóm bộ đệm InnoDB và sau đó đánh dấu chéo Bộ đệm truy vấn cho các thay đổi tương tự.
ĐIỀU TRỊ
Trước MySQL 5.0, bộ đệm truy vấn đã bị vô hiệu hóa cho InnoDB. Bây giờ, InnoDB tương tác với nó. Để đơn giản hóa vấn đề, bạn chỉ cần vô hiệu hóa Cache truy vấn bằng cách đặt query_cache_size thành 0.
Theo Tài liệu MySQL trên query_cache_time
Nếu máy chủ được khởi động với query_cache_type được đặt thành 0, thì nó hoàn toàn không thu được bộ đệm bộ đệm truy vấn, điều đó có nghĩa là bộ đệm truy vấn không thể được bật trong thời gian chạy và giảm chi phí khi thực hiện truy vấn.
ĐIỀU KHOẢN CỦA NGƯỜI TỰ TIN
Đặt query_cache_size thành 0 không phải là giải pháp một kích cỡ phù hợp cho tất cả.
Lý do của cuộc chiến, ở nơi đầu tiên, là trên đầu. InnoDB sẽ luôn kiểm tra các thay đổi. Bộ đệm truy vấn lớn hơn sẽ khiến InnoDB hoạt động khó hơn nhiều. Vô hiệu hóa bộ đệm truy vấn, hãy để InnoDB và Cache truy vấn được hạnh phúc. Tuy nhiên, bạn (Nhà phát triển / DBA) có thể là một nạn nhân của cuộc chiến đó có nghĩa là hiệu suất truy vấn kém, ngay cả khi có một hiệp ước hòa bình như vậy.
Tùy thuộc vào điều sau đây
- Khối lượng công việc
- Tần suất thay đổi
- Tần suất đọc cùng một dữ liệu
bạn nên đặt query_cache_size thành bất kỳ số nào bạn cảm thấy tăng hiệu suất (Điều này tương đương với việc bắt đầu một chuyển động ngầm).
TIẾNG VIỆT
Trong trường hợp bạn đang tự hỏi tôi đã nghĩ ra câu chuyện chiến tranh này ở đâu, xin vui lòng xem bài viết cũ của tôi
Đọc kỹ vì tôi đã học được điều này từ Trang 209-215 của MySQL hiệu suất cao (Phiên bản 2)
Tôi đã khuyến nghị vô hiệu hóa bộ đệm truy vấn cho người khác trước
LƯU Ý: Tôi nhận ra câu hỏi là về query_cache_type . Nó có ảnh hưởng đến bộ đệm truy vấn. Vô hiệu hóa bộ đệm bộ đệm chiếm ưu thế của InnoDB đối với nó. Đặt thủ công query_cache_type chỉ cần buộc Nhà phát triển / DBA suy nghĩ cẩn thận về loại truy vấn mà bộ đệm truy vấn sẽ gặp phải.