ขอเรียนความหมาย เรื่อง ดัชนี เวลาออกแบบตารางค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 2,271   2
URL.หัวข้อ / URL
ขอเรียนความหมาย เรื่อง ดัชนี เวลาออกแบบตารางค่ะ

ขณะที่เราออกแบบตารางนั้น จะมีอยู่ช่องหนึ่งที่ระบุว่า " ใส่ดัชนี "
แล้วก็มีตัวเลือกอยู่สามตัวดังนี้ค่ะ

No
Yes (Duplicates OK)
Yes (No Duplicates)

หนูอยากทราบว่า เจ้าตัวเลือกทั้งสามนั้น มันมีความความหมายอย่างไรบ้าง
และเมื่อใดควรจะใช้ตัวเลือกไหน หากใช้ผิด แล้วจะเกิดผลเสียอย่างไรบ้างคะอาจารย์

ขอบคุณค่ะ

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

1 @R05511
เราสร้างดัชนี (index) เพื่อว่า เมื่อเราต้องการค้นหาเรคอร์ดด้วยฟิลด์นั้นจะทำให้การค้นหาทำได้เร็วที่สุด เช่นการค้นหาจากการกำหนด WHERE clause ใน SQL SELECT statement หรือจากการใช้ .SEEK method หรือ .FindFirst .FindLast method เป็นต้น เหตุเพราะค่าในฟิลด์ดัชนีจากเรคอร์ดต่างๆจะอยู่ในรูปแบบที่ถูกจัดเรียงข้อมูลตามลอจิคอล (logical) ไว้ให้แล้ว การค้นหาข้อมูลที่เรียงไว้แล้ว สามารถใช้อัลกอริธึมที่มีประสิทธิภาพในการค้นหาได้ ข้อมูลประมาณ 1 ล้านเรคอร์ดจะสามารถค้นหาเจอจากการค้นหาเพียงไม่เกิน 20 หรือ 21 ครั้งเท่านั้นเอง ... แต่ถ้าไ่ม่มีการทำดัชนี การค้นหาใดๆก็ต้องทำแบบ sequential search คือหาไปทีละเรคอร์ดจนกว่าจะพบ ถ้าเรคอร์ดที่เราต้องการเกิดไปอยู่ที่เรคอร์ดสุดท้ายพอดี ระบบก็ต้องควานอ่านไป 1 ล้านเรคอร์ดแหล่ะครับ

ดังนั้น

No ก็คือไม่ได้มีการสร้างดัชนีสำหรับฟิลด์นี้

Yes (No Duplicate) ก็คือมีการสร้างดัชนีไว้ และมีเพียงเรคอร์ดเดียวเท่านั้นที่จะมีค่านี้ได้

Yes (Duplicate OK) ก็คือมีการสร้างดัชนีไว้ และยอมให้มีค่าของฟิลด์ดัชนีนี้ ซ้ำกันมากกว่า 1 เรคอร์ดได้

แต่ถ้าต้องการสร้างดัชนีที่เป็นผลรวมของหลายๆฟิลด์เข้าด้วยกัน ก็ต้องไปเลือกใช้ Index Windows แทนนะครับ (เมนู View - Indexes)

หมายเหตุ : ฟิลด์ที่เป็น Primary Key จะถูกกำหนดเป็น No Duplicate Index ไปอย่างอัตโนมัติ แต่ในทางกลับกันไม่จำเป็น
2 @R05512
อ๋อ...เป็นอย่างนี้นี่เอง
ตอนนี้พอจะทราบแนวทางแล้วค่ะ ว่าฟิลด์ไหนควรกำหนดอย่างไรจึงจะเหมาะสม

ขอบคุณค่ะอาจารย์

@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3775s