Tôi muốn giữ của tôi dưới 8 tuổi.
Nghiêm túc mà nói, điều đó khá vô nghĩa. Nếu theo giả thuyết là có lý do để bạn có 800 truy vấn trong một trang, thì bạn có thể tiếp tục và làm điều đó. Có thể bạn sẽ thấy rằng số lượng truy vấn trên mỗi trang sẽ đơn giản phụ thuộc vào những gì bạn đang làm, mặc dù trong trường hợp bình thường, tôi sẽ ngạc nhiên khi thấy trên 50 truy vấn (mặc dù ngày nay, thật khó để nhận ra có bao nhiêu bạn đang làm nếu bạn đang tóm tắt các lệnh gọi DB của mình).
Truy vấn chậm quan trọng hơn
Tôi đã từng thất vọng với một phần mềm diễn đàn dựa trên PHP nhất định có 35 truy vấn trong một trang và chạy rất chậm, nhưng đó là cách đây khá lâu và bây giờ tôi biết rằng lý do mà cài đặt cụ thể chạy chậm không liên quan gì đến việc có 35. truy vấn trong một trang. Ví dụ:chỉ một hoặc hai trong số những truy vấn đó chiếm hầu hết thời gian. Nó chỉ có một vài truy vấn thực sự chậm, đã được khắc phục bởi các chỉ mục được đặt tốt.
Tôi nghĩ rằng việc xác định và sửa các truy vấn chậm nên đến trước khi xác định và loại bỏ các truy vấn không cần thiết, vì nó có khả năng tạo ra sự khác biệt nhiều hơn.
Hãy cân nhắc rằng ba truy vấn nhanh có thể nhanh hơn đáng kể so với một truy vấn chậm - số lượng truy vấn không không nhất thiết phải liên quan đến tốc độ.
Tôi có một trang (thực sự là một loại công cụ chẩn đoán / trường hợp thử nghiệm được thiết kế để chỉ chạy bởi quản trị viên) có hơn 800 truy vấn nhưng nó chạy trong vài giây. Tôi đoán chúng đều là những truy vấn thực sự đơn giản.
Thử vào bộ nhớ đệm
Có nhiều cách khác nhau để lưu vào bộ nhớ cache các phần trong ứng dụng của bạn, điều này thực sự có thể cắt giảm số lượng truy vấn bạn thực hiện mà không làm giảm chức năng. Các thư viện như memcached ngày nay việc này trở nên dễ dàng một cách tầm thường mà vẫn chạy rất nhanh. Điều này cũng có thể giúp cải thiện hiệu suất hơn rất nhiều so với việc giảm số lượng truy vấn.
Nếu các truy vấn thực sự không cần thiết và hiệu suất thực sự đang tạo ra sự khác biệt, thì hãy xóa / kết hợp chúng
Trước tiên, chỉ cần cân nhắc tìm kiếm các truy vấn chậm và tối ưu hóa chúng hoặc lưu vào bộ nhớ đệm kết quả của chúng.