Score:1

PHP PDO ช้ามากในการดึงข้อมูล

ธง in

ฉันมีปัญหากับข้อความค้นหาสองสามข้อที่ทำงานใน PDO บน PHP ที่เชื่อมต่อกับเซิร์ฟเวอร์ MSSQL 2019 ฉันได้ตรวจสอบเวลาใน SSMS แล้ว และรวดเร็ว ฉันได้เพิ่มตัวจับเวลาลงในรหัสของฉันด้วย เพื่อให้ฉันสามารถดูเวลาในการดำเนินการค้นหาและเวลาในการดึงข้อมูล

ฉันพบว่าการดึงข้อมูลเป็นปัญหา

ข้อความค้นหาประมาณ 0.5 วินาที แต่ข้อมูลใช้เวลา 5-10 วินาทีในการค้นหา PHPเป็นข้อความน้อยกว่า 500,000 ไบต์ ดังนั้นจึงเป็นชุดข้อมูลขนาดเล็กจริงๆ ที่มี 9,000 แถว ทั้งหมดทำงานใน AWS PHP และ SQL อยู่ใน Availability Zone เดียวกันและอยู่ใน Subnet เดียวกัน การเชื่อมต่อระหว่างกันนั้นดีและไม่กี่วินาทีสำหรับชุดข้อมูลขนาดเล็กนั้นดูบ้า ... ดังนั้นสมมติว่าเป็นการตั้งค่า PHP

คำสั่งเตรียมของฉันมีตัวเลือกดังต่อไปนี้:

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

ใครบ้างมีความคิดใด ๆ ว่าฉันจะเร่งความเร็วได้อย่างไร? เตี้ย!

แก้ไข: ฉันยังใช้ SSMS จากเครื่องระยะไกลและแบบสอบถามนั้นเร็วมาก ดังนั้นปัญหาจะต้องอยู่ในการเชื่อมต่อ PDO และ/หรือการตั้งค่า

Zhorov avatar
cn flag
เวลาดำเนินการคืออะไร เมื่อคุณใช้เคอร์เซอร์เริ่มต้น: `$stmt = $this->DB->prepare( $query);`?
in flag
สิ่งนี้แก้ไขได้! :) ขอขอบคุณ. เวลาในการดึงข้อมูลเร็วขึ้นประมาณ 200 (!) โดยไม่ได้ตั้งค่าเคอร์เซอร์ไว้สำหรับการค้นหาที่ใหญ่ขึ้น!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา