ทุกเช้า
ฉันทำงานกับ sql ที่ซับซ้อนพอสมควรเพื่อ 'รับ' ข้อมูลบางอย่างจากฐานข้อมูลผลิตภัณฑ์ของบุคคลที่สามเพื่อแสดงในแอปพลิเคชันของเราเอง
ฉันเพิ่มในรายการที่เลือกเพื่อรับระเบียนสูงสุดจากตารางภายในแบบสอบถามย่อย (ถ้ามีเหตุผล)
แบบสอบถามใช้เวลาเกือบ 3 นาทีในการส่งคืนชุดผลลัพธ์สุดท้าย 100 รายการโดยใช้
SELECT TOP 1 ...
ฉันดูออนไลน์เพื่อดูการปรับปรุงสิ่งที่ฉันพยายามบรรลุและขอแนะนำให้ฉันเปลี่ยนการเลือกของฉันเพื่อใช้ตัวแปรดังต่อไปนี้
DECLARE @topCount INT
SET @topCount = 1
SELECT TOP (@topCount) ...
นี่ใช้แบบสอบถามเดียวกันจาก 3 นาทีถึง 1 วินาทีซึ่งยอดเยี่ยมมาก!
แต่ทุกคนสามารถอธิบายได้ว่าทำไมถึงเป็นเช่นนั้น
top 1
จะใช้แผนเดียวกันสำหรับ