ลำดับของเงื่อนไขกับความเร็วในการค้น
กระทู้เก่าบอร์ด อ.Yeadram

 1,211   1
URL.หัวข้อ / URL
ลำดับของเงื่อนไขกับความเร็วในการค้น

WHERE (((orderd_detial.CloseRecord)=0) AND ((([amoute]*[pack_size])-[amoute1])<>0) AND ((dr.codeunit)=coduf()))

ตัวอย่าง มี Where หลายเงือนไข ผมสงสัยว่าในทางทฤษฎีแล้ว ลำดับก่อนหลังมีผลต่อความเร็วในการเข้าถึงหรือหาข้อมูลหรือไม่ จะเห็นว่าเงื่อนไขที่ 2
AND ((([amoute]*[pack_size])-[amoute1])<>0) ต้องมีการคำนวณก่อน ถ้าผมเปลี่ยนเป็น

WHERE   ((([amoute]*[pack_size])-[amoute1])<>0) AND ((dr.codeunit)=coduf()) and (((orderd_detial.CloseRecord)=0))
จะเข้าถึงข้อมูล เร็วหรือ ช้า กว่าแบบแรกครับ

1 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R21605
ไม่มีผลครับ ตัว Query Optimizer จะเป็นตัวสร้าง Query Plan ซึ่งเป็นลำดับของการค้นหาและค้นหาอะไร แม้แต่ค้นหาด้วยเงื่อนไขที่มันเป็นคนคิดเองซึ่งไม่ได้ตรงกับเงื่อนไขที่เราบอกให้มันก็ได้

ส่วนตัว Query Optimizer ก็เป็นชื่อเรียกของฟังก์ชั่นหนึ่งของตัวจัดการฐานข้อมูล ไม่ว่าจะยี่ห้อไหนก็มีฟังก์ชั่นส่วนนี้ ของแพงก็มักเก่งกว่า ทำให้ค้นหาได้เร็วกว่าในสภาพแวดล้อมที่เหมือนๆกัน

ถ้าสนใจในรายละเอียดยิบย่อยเพื่อเพิ่มประสิทธิภาพในการค้นหา ก็อ่านจากในนี้ได้ครับ https://msdn.microsoft.com/en-us/library/aa188211%28office.10%29.aspx
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3129s