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

OR กับ UNION ALL กัน

วันนี้เรามาดูเทคนิคเพิ่มเติมระหว่าง OR กับ UNION ALL กัน
ในกรณีที่เรา ใช้ OR ในส่วนของเงื่อนไข เยอะ ๆ จะทำให้ Query ช้าลงมาก ๆ เช่น

SELECT EMPLOYEEID,FIRSTNAME, LASTNAME
FROM EMPLOYEE
WHER DEPT = 'IT' OR CITY = 'UDONTHANI' OR DIVISION = 'SUPPORT'

เราสามารถใช้การ UNION ALL เพื่อเพิ่มความเร็วในการ Query ได้

SELECT EMPLOYEEID,FIRSTNAME, LASTNAME
FROM EMPLOYEE
WHER DEPT = 'IT'
UNION ALL
SELECT EMPLOYEEID,FIRSTNAME, LASTNAME
FROM EMPLOYEE
WHER CITY = 'UDONTHANI'
UNION ALL
SELECT EMPLOYEEID,FIRSTNAME, LASTNAME
FROM EMPLOYEE
WHER DIVISION = 'SUPPORT'

อย่างนี้ จะเพิ่มประสิทธิภาพในการ Query ได้นะครับ
หวังว่าคงช่วยได้ไม่มากก็น้อยนะครับ

ความคิดเห็น

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

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

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