ที่สามารถ
SELECT * FROM TABLE LIMIT 5 AND 10
เพื่อให้สามารถทำ Page ได้ง่ายๆโดยไม่ต้องเสียพลังไปกับการ order ไปมาซ้ำยังต้องทำ table scan
อีก กว่าจะได้ส่วนที่เราต้องการมา ทำให้คิดอยู่นานว่าควรจะแบ่งข้อมูลที่จะนำมาแสดงเป็น page หรือไม่
วันนี้ DB2 v.9.7.2 ก็ใส่ function นี้เข้ามาสักที ดีใจมากมาย
เป็น syntax ใหม่ของ SELECT statment ครับ โดยจะใช้ keyword คำว่า LIMIT และ OFFSET
เข้ามาใช้ทำ Limit ครับ ตัวอย่างเช่น
ก็มีค่าเท่ากับSELECT * FROM TABLE LIMIT 5
SELECT * FROM TABLE FETCH FIRST 5 ROWS ONLYแต่เมื่อตั้งการให้เริ่มจาก ROW อื่นๆที่ไม่ใช่ 1 ก็จะใช้เป็น
SELECT * FROM TABLE LIMIT 5 OFFSET 10อันนี้ก็จะได้ result ส่วนที่เป็น row 11 - 15 ครับ
เพื่อให้สามารถใช้ option นี้ได้เราจำเป็นต้อง update ค่า DB2 Register ที่ชื่อว่า
DB2_COMPATIBILITY_VECTOR ดังนี้ครับ
$ db2set DB2_COMPATIBILITY_VECTOR=MYS
$ db2stop
$ db2start
No comments:
Post a Comment