ดัชนีฐานข้อมูล: บทนำสำหรับผู้เริ่มต้น

ดัชนีฐานข้อมูล: บทนำสำหรับผู้เริ่มต้น

'ดัชนีฐานข้อมูล' หมายถึงโครงสร้างข้อมูลชนิดพิเศษที่เร่งความเร็วในการดึงบันทึกจากตารางฐานข้อมูล ดัชนีฐานข้อมูลช่วยให้แน่ใจว่าคุณสามารถค้นหาและเข้าถึงข้อมูลในตารางฐานข้อมูลได้อย่างมีประสิทธิภาพโดยไม่ต้องค้นหาทุกแถวทุกครั้งที่มีการประมวลผลการสืบค้นฐานข้อมูล





ดัชนีฐานข้อมูลสามารถเปรียบได้กับดัชนีของหนังสือ ดัชนีในฐานข้อมูลจะชี้ให้คุณไปยังระเบียนที่คุณต้องการค้นหาในฐานข้อมูล เช่นเดียวกับหน้าดัชนีของหนังสือที่ชี้คุณไปยังหัวข้อหรือบทที่คุณต้องการ





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





ดัชนีคืออะไร?

ดัชนีฐานข้อมูลคือตารางค้นหาพิเศษที่ประกอบด้วยสองคอลัมน์ คอลัมน์แรกคือแป้นค้นหา และคอลัมน์ที่สองคือตัวชี้ข้อมูล คีย์คือค่าที่คุณต้องการค้นหาและดึงข้อมูลจากตารางฐานข้อมูลของคุณ และตัวชี้หรือข้อมูลอ้างอิงจะจัดเก็บที่อยู่บล็อกดิสก์ในฐานข้อมูลสำหรับคีย์การค้นหาเฉพาะนั้น ฟิลด์คีย์จะถูกจัดเรียงเพื่อเร่งการดำเนินการดึงข้อมูลสำหรับการสืบค้นทั้งหมดของคุณ

เหตุใดจึงต้องใช้การจัดทำดัชนีฐานข้อมูล

ฉันจะแสดงดัชนีฐานข้อมูลแบบง่ายให้คุณดูที่นี่ สมมติว่าคุณมีตารางฐานข้อมูลของพนักงานแปดคนที่ทำงานในบริษัท และคุณต้องการค้นหาข้อมูลสำหรับรายการสุดท้ายของตาราง ตอนนี้ เพื่อค้นหารายการก่อนหน้า คุณต้องค้นหาแต่ละแถวของฐานข้อมูล



อย่างไรก็ตาม สมมติว่าคุณจัดเรียงตารางตามตัวอักษรตามชื่อของพนักงาน ดังนั้นที่นี่คีย์การจัดทำดัชนีจะขึ้นอยู่กับคอลัมน์ชื่อ ในกรณีนั้น หากคุณค้นหารายการสุดท้าย แซ็ค คุณสามารถข้ามไปที่กลางตารางและตัดสินใจว่ารายการของเรามาก่อนหรือหลังคอลัมน์

อย่างที่คุณทราบ มันจะอยู่หลังแถวกลาง และคุณสามารถแบ่งแถวหลังแถวกลางเป็นครึ่งๆ อีกครั้งและทำการเปรียบเทียบที่คล้ายกันได้ ด้วยวิธีนี้ คุณไม่จำเป็นต้องข้ามแต่ละแถวเพื่อค้นหารายการสุดท้าย





หากบริษัทมีพนักงาน 1,000,000 คน และรายการสุดท้ายคือแซค คุณจะต้องค้นหา 50,000 แถวเพื่อหาชื่อของเขา ในขณะที่การจัดทำดัชนีตามตัวอักษร คุณสามารถทำได้ในไม่กี่ขั้นตอน ตอนนี้คุณสามารถจินตนาการได้ว่าการค้นหาและเข้าถึงข้อมูลสามารถทำได้เร็วเพียงใดด้วยการทำดัชนีฐานข้อมูล

ที่เกี่ยวข้อง: 13 คำสั่ง SQL ที่สำคัญที่สุดที่โปรแกรมเมอร์ควรรู้





วิธีการจัดระเบียบไฟล์ที่แตกต่างกันสำหรับดัชนีฐานข้อมูล

การทำดัชนีขึ้นอยู่กับกลไกการจัดระเบียบไฟล์ที่ใช้เป็นอย่างมาก โดยปกติ มีวิธีการจัดไฟล์สองประเภทที่ใช้ในการจัดทำดัชนีฐานข้อมูลเพื่อเก็บข้อมูล มีการกล่าวถึงด้านล่าง:

1. ไฟล์ดัชนีที่สั่งซื้อ: นี่เป็นวิธีการจัดเก็บข้อมูลดัชนีแบบดั้งเดิม ในวิธีนี้ ค่าคีย์จะถูกจัดเรียงตามลำดับเฉพาะ ข้อมูลในไฟล์ดัชนีที่สั่งซื้อสามารถจัดเก็บได้สองวิธี

  • ดัชนีกระจัดกระจาย: ในการจัดทำดัชนีประเภทนี้ รายการดัชนีจะถูกสร้างขึ้นสำหรับแต่ละเร็กคอร์ด
  • ดัชนีความหนาแน่น: ในการจัดทำดัชนีแบบหนาแน่น รายการดัชนีจะถูกสร้างขึ้นสำหรับบางระเบียน ในการค้นหาเรกคอร์ดในวิธีนี้ คุณต้องค้นหาค่าคีย์การค้นหาที่สำคัญที่สุดจากรายการดัชนีที่น้อยกว่าหรือเท่ากับค่าคีย์การค้นหาที่คุณกำลังค้นหา

2. การจัดระเบียบไฟล์แฮช: ในวิธีการจัดระเบียบไฟล์นี้ ฟังก์ชันแฮชจะกำหนดตำแหน่งหรือบล็อกดิสก์ที่เก็บบันทึก

ประเภทของการทำดัชนีฐานข้อมูล

โดยทั่วไปมีสามวิธีในการจัดทำดัชนีฐานข้อมูล พวกเขาคือ:

  • การทำดัชนีแบบคลัสเตอร์
  • การจัดทำดัชนีแบบไม่ใช้คลัสเตอร์
  • การจัดทำดัชนีหลายระดับ

1. การจัดทำดัชนีแบบคลัสเตอร์

ในการจัดทำดัชนีแบบคลัสเตอร์ ไฟล์เดียวสามารถเก็บข้อมูลได้มากกว่าสองเร็กคอร์ด ระบบเก็บข้อมูลจริงในการจัดทำดัชนีคลัสเตอร์มากกว่าตัวชี้ การค้นหามีประสิทธิภาพด้านต้นทุนด้วยการทำดัชนีแบบคลัสเตอร์ เนื่องจากเก็บข้อมูลที่เกี่ยวข้องทั้งหมดไว้ในที่เดียวกัน

ไซต์ที่ดีที่สุดในการดาวน์โหลดเพลงฟรี

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

คุณยังสามารถสร้างดัชนีตามคอลัมน์ที่ไม่ใช่คอลัมน์หลักซึ่งไม่ซ้ำกันสำหรับแต่ละคีย์ ในโอกาสดังกล่าว จะรวมหลายคอลัมน์เพื่อสร้างค่าคีย์เฉพาะสำหรับดัชนีคลัสเตอร์

กล่าวโดยย่อ ดัชนีการจัดกลุ่มเป็นที่ที่ประเภทข้อมูลที่คล้ายคลึงกันถูกจัดกลุ่มและสร้างดัชนีสำหรับดัชนีเหล่านี้

ตัวอย่าง: สมมติว่ามีบริษัทที่มีพนักงานมากกว่า 1,000 คนใน 10 แผนกที่แตกต่างกัน ในกรณีนี้ บริษัทควรสร้างการทำดัชนีคลัสเตอร์ใน DBMS เพื่อสร้างดัชนีพนักงานที่ทำงานในแผนกเดียวกัน

แต่ละคลัสเตอร์ที่มีพนักงานทำงานในแผนกเดียวกันจะถูกกำหนดเป็นคลัสเตอร์เดียว และตัวชี้ข้อมูลในดัชนีจะอ้างอิงถึงคลัสเตอร์เป็นเอนทิตีทั้งหมด

ที่เกี่ยวข้อง: Foreign Keys ในฐานข้อมูล SQL คืออะไร?

2. การจัดทำดัชนีแบบไม่ใช้คลัสเตอร์

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

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

3. การจัดทำดัชนีหลายระดับ

การทำดัชนีหลายระดับจะใช้เมื่อจำนวนดัชนีสูงมาก และไม่สามารถเก็บดัชนีหลักไว้ในหน่วยความจำหลักได้ ดังที่คุณทราบ ดัชนีฐานข้อมูลประกอบด้วยคีย์การค้นหาและตัวชี้ข้อมูล เมื่อขนาดของฐานข้อมูลเพิ่มขึ้น จำนวนดัชนีก็เพิ่มขึ้นเช่นกัน

อย่างไรก็ตาม เพื่อให้การดำเนินการค้นหาเป็นไปอย่างรวดเร็ว จำเป็นต้องมีการบันทึกดัชนีไว้ในหน่วยความจำ หากดัชนีระดับเดียวถูกใช้เมื่อหมายเลขดัชนีสูง ไม่น่าจะเก็บดัชนีนั้นในหน่วยความจำเนื่องจากขนาดและการเข้าถึงหลายครั้ง

นี่คือจุดเริ่มต้นของการจัดทำดัชนีหลายระดับ เทคนิคนี้แบ่งดัชนีระดับเดียวออกเป็นบล็อกขนาดเล็กหลายบล็อก หลังจากพังทลายลง บล็อกระดับนอกจะมีขนาดเล็กมากจนสามารถเก็บไว้ในหน่วยความจำหลักได้อย่างง่ายดาย

ที่เกี่ยวข้อง: วิธีเชื่อมต่อกับฐานข้อมูล MySQL ด้วย Java

การแยกส่วนดัชนี SQL คืออะไร?

เมื่อลำดับใด ๆ ของหน้าดัชนีไม่ตรงกับลำดับทางกายภาพในไฟล์ข้อมูลทำให้เกิดการกระจายตัวของดัชนี SQL เริ่มแรก ดัชนี SQL ทั้งหมดไม่มีการแตกแฟรกเมนต์ แต่เมื่อคุณใช้ฐานข้อมูล (แทรก/ลบ/แก้ไขข้อมูล) ซ้ำๆ อาจทำให้เกิดการแตกแฟรกเมนต์

นอกเหนือจากการกระจายตัวของฐานข้อมูลแล้ว ฐานข้อมูลของคุณยังสามารถเผชิญกับปัญหาสำคัญอื่นๆ เช่น ความเสียหายของฐานข้อมูล อาจทำให้ข้อมูลสูญหายและเว็บไซต์เสียหายได้ หากคุณกำลังทำธุรกิจกับเว็บไซต์ของคุณ อาจเป็นอันตรายถึงชีวิตสำหรับคุณ

แบ่งปัน แบ่งปัน ทวีต อีเมล ข้อมูลเซิร์ฟเวอร์ SQL เสียหายหรือไม่ ลองกู้คืนด้วยกล่องเครื่องมือการกู้คืน SQL

Recovery Toolbox สำหรับ SQL Server ช่วยแก้ไขไฟล์ MDF ที่เสียหายของ MS SQL Server สำหรับทุกเวอร์ชัน

แรมที่ใช้ได้ windows 7 32 บิต
อ่านต่อไป หัวข้อที่เกี่ยวข้อง
  • การเขียนโปรแกรม
  • SQL
  • การวิเคราะห์ข้อมูล
  • ฐานข้อมูล
เกี่ยวกับผู้เขียน Zadhid A. Powell(เผยแพร่บทความ 16 บทความ)

Zadhid Powell เป็นวิศวกรคอมพิวเตอร์ที่เลิกเขียนโค้ดเพื่อเริ่มเขียน! นอกจากนี้ เขายังเป็นนักการตลาดดิจิทัล ผู้ชื่นชอบเทคโนโลยี ผู้เชี่ยวชาญ SaaS ผู้อ่าน และผู้ติดตามแนวโน้มซอฟต์แวร์ที่กระตือรือร้น บ่อยครั้งคุณอาจพบว่าเขาโยกคลับในตัวเมืองด้วยกีตาร์หรือสำรวจพื้นมหาสมุทร

เพิ่มเติมจาก Zadhid A. Powell

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก