Điểm:1

PHP PDO rất chậm khi tìm nạp

lá cờ in

Tôi gặp sự cố với một số truy vấn đang chạy trong PDO trên PHP khi kết nối với máy chủ MSSQL 2019. Tôi đã kiểm tra thời gian trong SSMS và nó rất nhanh. Tôi cũng đã thêm một số bộ hẹn giờ vào mã của mình để có thể xem thời gian thực hiện truy vấn và thời gian tìm nạp dữ liệu.

Tôi nhận thấy việc tìm nạp dữ liệu là một vấn đề.

Truy vấn mất khoảng 0,5 giây, nhưng dữ liệu mất 5-10 giây để chuyển sang PHP.Nó có ít hơn 500.000 byte dưới dạng văn bản, do đó, đây thực sự là một tập dữ liệu nhỏ gồm 9000 hàng. tất cả đều chạy trong AWS. PHP và SQL nằm trong cùng một vùng khả dụng và trên cùng một mạng con. Kết nối giữa chúng là tốt và vài giây cho một tập dữ liệu nhỏ như vậy có vẻ điên rồ... vậy giả sử đó là cài đặt PHP?

Tuyên bố chuẩn bị của tôi có các tùy chọn sau:

$stmt = $this->DB->prepare( $query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL) );

Có ai có bất kỳ ý tưởng làm thế nào tôi có thể tăng tốc nó? TIA!

Chỉnh sửa: Tôi cũng đã sử dụng SSMS từ máy từ xa và truy vấn rất nhanh; do đó, sự cố phải nằm ở kết nối và/hoặc cài đặt PDO.

Zhorov avatar
lá cờ cn
Thời gian thực thi là bao nhiêu, khi bạn sử dụng con trỏ mặc định: `$stmt = $this->DB->prepare( $query);`?
lá cờ in
Điều này đã giải quyết nó! :) Cảm ơn bạn. Thời gian tìm nạp nhanh hơn khoảng 200 (!) lần với con trỏ không được đặt cho các truy vấn lớn hơn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.