ถ้าหากเราไม่ได้ทำงานตามที่เราเคยฝัน ก็ไม่เป็นไร เราต้องหาแง่มุมที่งามของงานที่เราทำในปัจจุบันให้เจอ

ว. วชิรเมธี

ทำไม Run Query ครั้งที่ 2 จึงเร็วกว่าครั้งแรก
User Rating: / 0
PoorBest 

เนื่องจาก SQL Server จะมีการวิเคราะห์ Query เพื่อหาวิธีการ Run Query ที่มีประสิทธิ์ภาพดีที่สุดมาใช้ (Execution Plan)

หลังจาก Run Query เสร็จแล้ว SQL Server จะนำผลลัพท์ที่ได้มาเก็บไว้ใน Memory (Cache)

 

หลังจากนั้นเมื่อมีการ Run Query เดิมซ้ำ SQL Server จะนำ Execution Plan เดิมมาใช้ซ้ำ (ไม่ต้องเสียเวลาวิเคราะห์ Query ใหม่)

ถ้าเงื่อนไขใน Query ไม่ต่างจากเดิม SQL Server ก็จะไปหาจาก Memory (Cache) ที่เก็บไว้มาเป็นผลลัพธ์ได้เลย (ไม่ต้องเสียเวลา Run Query ใหม่)

 

วิธี Clear Execution Plan และ Cache

 

dbcc freeproccache --เคลียร์ Execution Plan

dbcc dropcleanbuffers --เคลียร์ ข้อมูลที่ Cache อยู่

 

Advertisement