แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่างดัชนีแบบคลัสเตอร์และแบบไม่รวมกลุ่ม

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

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

แผนภูมิเปรียบเทียบ

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

นิยามของดัชนีแบบคลัสเตอร์

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

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

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

ความหมายของดัชนีที่ไม่คลัสเตอร์

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

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

ความแตกต่างที่สำคัญระหว่างดัชนีแบบคลัสเตอร์และแบบไม่รวมกลุ่ม

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

ข้อสรุป

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

Top