การใช้งาน Index ใน Oracle และเทคนิคการใช้ HINT
บทความเกี่ยวกับ : การใช้งาน Index ใน Oracle และเทคนิคการใช้ HINT วันนี้นั่งทำ Query อยู่พบข้อสังเกตุอะไรบางอย่าง กับการสร้าง index ใน Oracle ด้วยความที่เราไม่ได้มีความรู้มากมายเท่าทางสาย DBA แต่ก็ได้อาศัยลองผิดลองถูกเรื่อยๆมา วันนี้จะมาเล่ากรณีศึกษาให้ฟัง ยกตัวอย่าง ผมสร้าง index ให้กับ table ผมไว้ สอง Field คือ field_a index ชือ indx_a field_b index ชื่อ indx_b ลอง Query data ดูพบว่า select * from my_table where field_a='xxx'; ผลที่ได้เร็วมากๆ select * from my_table where field_b='xxx'; ผลที่ได้เร็วมากๆ แต่พอลองแบบนี้ select * from my_table where field_a='xxx' and field_b='yyy'; ผลที่ได้ปรากฏว่าหน่วงขึ้นอย่างเห็นได้ชัดเจน ผมก็งงว่าทำไปเป็นอย่างงั้นในเมื่อเราก็ Query ด้วย index ทั้งสอง Field ลองถามเพื่อๆ ที่เก่งด้านนี้ดู เค้าบอกว่าให้สร้าง index สอง Field นี้ต่อกันเป็นแบบนี้ create index indx_ab on my_table (field_a,field_b) ลองสร้างและลอง Query แบบเดิมดูพบว่าเร็วจริงตามที่คาดไว้ แต่ผมเองก็ไม่เข...