Tôi sẽ đưa ra cho bạn một phỏng đoán hoang dã ở đây:Bộ nhớ đệm cơ sở dữ liệu.
Trong lần đầu tiên bạn thực thi trang, truy vấn không được lưu vào bộ nhớ cache trong cơ sở dữ liệu, do đó, sẽ mất nhiều thời gian hơn, do đó, làm hết giới hạn thời gian của PHP.
Mặt khác, truy vấn nhanh hơn nhiều.
Bạn có thể tách truy vấn, như bạn đã đề cập hoặc bạn có thể thử tăng giới hạn thời gian trên tập lệnh:
set_time_limit(0); //No time limit
set_time_limit(60); //60 seconds
Để chắc chắn, bạn có thể sử dụng cái này để làm sạch bộ nhớ cache của cơ sở dữ liệu và luôn sử dụng nó, bạn sẽ luôn chạy trang trên bộ nhớ cache sạch.