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

join table ให้ table ขนาดเล็ก (ที่ผ่าน where cause แล้ว) ขึ้นก่อน

join table ให้ table ขนาดเล็ก (ที่ผ่าน where cause แล้ว) ขึ้นก่อน เช่น ต้องการ join JTR กับ MCSD ให้ใช้ from jtr a,mcsd b (JTR ที่ผ่าน where cause แล้วมีขนาดเล็กกว่า MCSD ที่ผ่าน where cause)
หมายเหตุ : ตามทฤษฏี Database ควรจะทราบว่า หา Table ใดก่อน จะ Optimize ที่สุด แต่ในความเป็นจริง Informix จะใช้ Table แรกเป็น major table ในการ scan ผ่าน Table ที่สอง ผลก็คือ การที่ JTR มีจำนวน row น้อยกว่า mcsd ทำให้ใช้เวลาน้อยกว่าในการหา condition ใน where cause พบ 

ความคิดเห็น

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

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 กันเร็วขึ้น ในกรณีที่เราไม่สนใจว่าข้อมูลเราจะซ้ำหรือป่าว ผลลัพท์ที่ออกมาก็จะออกมาทั้งหมดจิง ๆ ลองเอาไปประยุกต์ใช้ดูได้นะครับบบบบบ