ความแตกต่างที่สำคัญ – ดัชนีแบบคลัสเตอร์เทียบกับแบบไม่คลัสเตอร์
ในฐานข้อมูลเชิงสัมพันธ์ ข้อมูลจะถูกเก็บไว้ในตาราง ตารางเหล่านี้เกี่ยวข้องกันโดยใช้ข้อจำกัด เช่น คีย์ภายนอก ฐานข้อมูลประกอบด้วยหลายตาราง บางครั้งก็ยากที่จะค้นหาข้อมูลที่ต้องการ ดังนั้นสามารถใช้ดัชนีเพื่อเร่งการค้นหาได้ ดัชนีที่ใช้ในฐานข้อมูลคล้ายกับดัชนีของหนังสือ ดัชนีของหนังสือประกอบด้วยบทที่มีหมายเลขหน้าที่ตรงกัน การสร้างดัชนีของฐานข้อมูลนั้นคล้ายกับนั้น ดัชนีมีโครงสร้างคล้ายกับตารางและต้องการพื้นที่ฐานข้อมูลบางส่วน ดัชนีมีสองประเภทที่เรียกว่า Clustered และ Non-Clustered Indexใน Clustered Index ลำดับตรรกะของดัชนีตรงกับลำดับทางกายภาพของแถวตาราง ใน Nonclustered Index ดัชนีและข้อมูลจริงอยู่ในตำแหน่งที่แยกจากกัน ดังนั้นดัชนีจึงทำงานเหมือนตัวชี้เพื่อดึงข้อมูลจริง ความแตกต่างที่สำคัญระหว่างดัชนีคลัสเตอร์และดัชนีที่ไม่ทำคลัสเตอร์คือดัชนีคลัสเตอร์จัดระเบียบข้อมูลจริงในขณะที่ดัชนีที่ไม่ใช่คลัสเตอร์ชี้ไปที่ข้อมูลจริง เมื่อมีดัชนีจำนวนมากและเมื่อจัดเก็บข้อมูลเพิ่มขึ้น ดัชนีเหล่านั้นก็ควรได้รับการอัปเดตด้วย ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องสร้างดัชนีตามแอพพลิเคชั่น เพราะจะทำให้ความเร็วลดลงได้
ดัชนีคลัสเตอร์คืออะไร
ในดัชนีคลัสเตอร์ ดัชนีจะจัดระเบียบข้อมูลจริง คล้ายกับสมุดโทรศัพท์ หมายเลขโทรศัพท์จะจัดเรียงตามลำดับตัวอักษร หมายเลขโทรศัพท์ที่เกี่ยวข้องสามารถพบได้เมื่อค้นหาชื่อเฉพาะ ดังนั้น ดัชนีการจัดกลุ่มจึงมีข้อมูลจริงในลักษณะที่เป็นระเบียบ สามารถมีได้หนึ่งดัชนีต่อตาราง
รูปที่ 01: Cluster vs Nonclustered Index
คีย์หลักใช้สำหรับระบุแต่ละรายการในตาราง ในตารางนักเรียน สามารถใช้รหัสนักเรียนเป็นคีย์หลักได้ ในตารางลูกค้า customer_id สามารถเป็นคีย์หลักได้ โดยทั่วไป คีย์หลักสามารถพิจารณาสร้างดัชนีคลัสเตอร์ได้ โดยพื้นฐานแล้ว ในดัชนีคลัสเตอร์ การเข้าถึงข้อมูลจะเป็นระบบและรวดเร็ว เนื่องจากลำดับตรรกะของดัชนีและลำดับตารางจะเหมือนกัน
ดัชนี Nonclustured คืออะไร
ในดัชนีที่ไม่ทำคลัสเตอร์ ดัชนีชี้ไปที่ข้อมูลจริง ดัชนีที่ไม่ทำคลัสเตอร์คือการอ้างอิงถึงข้อมูล ดังนั้นจึงสามารถมีได้หลายดัชนีต่อตาราง ตัวอย่างสำหรับดัชนีที่ไม่จัดกลุ่มคือหนังสือที่มีดัชนีหลักพร้อมคำอธิบายภาพและหมายเลขหน้าที่เกี่ยวข้อง หรือดัชนีท้ายเล่มที่มีคำศัพท์สำคัญเรียงตามตัวอักษรพร้อมหมายเลขหน้าที่เกี่ยวข้องดัชนีนี้ไม่มีข้อมูลจริง แต่จะให้ข้อมูลที่จำเป็นในการเข้าถึงข้อมูลจริง ดังนั้น ดัชนีและข้อมูลจึงอยู่ในตำแหน่งที่แยกจากกัน ดังนั้นจึงต้องการพื้นที่จัดเก็บเพิ่มเติม
ดัชนีที่ไม่ใช่คลัสเตอร์จะใช้เมื่อมีคีย์อื่นที่ไม่ใช่คีย์หลัก โดยทั่วไป ดัชนีที่ไม่ทำคลัสเตอร์จะช้ากว่าดัชนีคลัสเตอร์
ความคล้ายคลึงกันระหว่างดัชนีแบบคลัสเตอร์และแบบไม่คลัสเตอร์คืออะไร
ทั้งดัชนีแบบคลัสเตอร์และแบบไม่คลัสเตอร์เป็นประเภทของดัชนีที่ใช้เพื่อค้นหาข้อมูลอย่างมีประสิทธิภาพ
ดัชนีแบบคลัสเตอร์และแบบไม่คลัสเตอร์แตกต่างกันอย่างไร
ดัชนีแบบคลัสเตอร์เทียบกับแบบไม่จัดกลุ่ม |
|
ดัชนีคลัสเตอร์คือประเภทของดัชนีที่เร็กคอร์ดตารางได้รับการจัดลำดับใหม่ทางกายภาพเพื่อให้ตรงกับดัชนี | ดัชนีที่ไม่ทำคลัสเตอร์เป็นดัชนีประเภทหนึ่งที่มีการอ้างอิงถึงข้อมูลจริง |
จำนวนดัชนี | |
มีหนึ่งดัชนีคลัสเตอร์ต่อตาราง | สามารถมีดัชนีที่ไม่ทำคลัสเตอร์ได้หลายรายการต่อตาราง |
ความเร็ว | |
ดัชนีคลัสเตอร์เร็วกว่าดัชนีที่ไม่ทำคลัสเตอร์ | ดัชนีที่ไม่ทำคลัสเตอร์ช้ากว่าดัชนีคลัสเตอร์ |
พื้นที่ที่ต้องการ | |
ดัชนีคลัสเตอร์ไม่ต้องการช่องว่างเพิ่มเติม | ดัชนีที่ไม่ทำคลัสเตอร์ต้องการพื้นที่เพิ่มเติม |
สรุป – ดัชนีแบบคลัสเตอร์เทียบกับแบบไม่คลัสเตอร์
ฐานข้อมูลเชิงสัมพันธ์มีข้อมูลจำนวนมาก ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องมีกลไกเฉพาะในการค้นหาข้อมูลอย่างรวดเร็วดัชนีสามารถใช้เพื่อให้งานนี้สำเร็จ ดัชนีมีสองประเภท เป็นดัชนีแบบคลัสเตอร์และแบบไม่คลัสเตอร์ บทความนี้กล่าวถึงความแตกต่างระหว่างดัชนีคลัสเตอร์และดัชนีที่ไม่ใช่คลัสเตอร์ ในดัชนีคลัสเตอร์ ลำดับตรรกะของดัชนีตรงกับลำดับทางกายภาพของแถวตาราง ในดัชนีแบบไม่คลัสเตอร์ ดัชนีและข้อมูลจริงอยู่ในตำแหน่งที่แยกจากกัน ดังนั้นจึงมีตัวชี้ในการดึงข้อมูล ความแตกต่างระหว่างดัชนีแบบคลัสเตอร์และแบบไม่คลัสเตอร์คือดัชนีคลัสเตอร์จัดระเบียบข้อมูลจริงในขณะที่ดัชนีที่ไม่คลัสเตอร์ชี้ไปที่ข้อมูลจริง