ข้ามไปที่เนื้อหาหลัก

[SQL Query Tips] clear execution plan , cache บน sql serve

เหตุผลที่ การ run query ครั้งแรก อาจจะช้า แต่ครั้งที่ 2 เป็นต้นไป จะเร็วขึ้น เพราะอะไร? เพราะ sql server มีการจำรูปแบบ query นี้เก็บไว้ ทำให้การ query ครั้งที่ 2 ทำงานได้เร็วขึ้น หากเรา modify query แล้วจะทดสอบ performance ของ query จึงควรที่จะ clear สมองของ sql server ก่อน ด้วยการ run command DBCC FREEPROCCACHE to clear Execution plan DBCC DROPCLEANBUFFERS to clear SQL statement cache

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

3. ใช้ EXISTS เร็วกว่า IN แน่นอน

3. ใช้ EXISTS เร็วกว่า IN แน่นอน      ยกตัวอย่างอันนี้ผมใช้ใน Oracle นะครับ     select f1,f2,f3 from my_table where     exists (select 1 from dual where f1=1 or f1=2 or f1=3)      เร็วกว่า     select f1,f2,f3 from my_table where     f1 in (1,2,3)     ฟันธง

UNION กับ UNION ALL ต่างกันอย่างไร

วันนี้เรามาดูว่า UNION กับ UNION ALL ต่างกันอย่างไร แล้วแบบไหนเร็วกว่ากัน UNION นั้น เป็นการ Join กันระหว่าง 2 Table ที่มี Columns เหมือนกันทั้งหมด และจะมีการหาข้อมูลซ้ำ เอามาโชว์แค่ตัวเดียว  UNION ALL นั้น ก็เป็นการ Join เหมือนกับ UNION แต่จะไม่มีการหาข้อมูลซ้ำ ซึ่งก็จะทำให้การ Join กันเร็วขึ้น ในกรณีที่เราไม่สนใจว่าข้อมูลเราจะซ้ำหรือป่าว ผลลัพท์ที่ออกมาก็จะออกมาทั้งหมดจิง ๆ ลองเอาไปประยุกต์ใช้ดูได้นะครับบบบบบ