2011-11-21 27 views
5

Tôi có một trang web được tạo trong Magento với khoảng 1120 sản phẩm trong đó.Truy vấn Sql bị gián đoạn bởi máy chủ cho một bảng có hơn 1 triệu bản ghi?

Khi tôi chọn tùy chọn menu Magento trong: Báo cáo -> Sản phẩm -> Được xem nhiều nhất, sau đó nhập vào phạm vi ngày và chọn "Hiển thị theo" = [Ngày], tôi gặp lỗi hết thời gian chờ. Nhưng báo cáo CÙNG nhưng nơi "Hiển thị theo" = [Tháng] và "Hiển thị theo" = [Năm], chạy đến khi hoàn thành và báo cáo được tạo.

Khi điều tra, tôi thấy bảng [Report_Event] có hơn 1 triệu bản ghi. Khi tôi cố gắng chạy truy vấn CÙNG trong PHPMyAdmin, tôi nhận được thông báo: "Truy vấn SQL đã bị gián đoạn bởi máy chủ".

Có ai gặp lỗi này không? Có cách giải quyết hay cài đặt cần được áp dụng không?

Trả lời

2

Cố gắng tăng max_execution_time của máy chủ hoặc tập lệnh của bạn. Để thực hiện việc này cho máy chủ - hãy thay đổi thông số tương ứng trong php.ini. Để làm điều này trong kịch bản của bạn sử dụng ini_set(max_execution_time,$amount) trong đó $amount được phép thời gian cho tập lệnh được thực hiện trong vài giây. Nếu bạn muốn thử nghiệm phải mất bao lâu để sử dụng ini_set(max_execution_time,0). Có một vài câu trả lời hay tại đây - On using ini_set('max_execution_time', 0)

Vì Magento cố gắng đặt ini_set(max_execution_time,$amount) vào đầu index.php.

Các vấn đề liên quan