ความแตกต่างระหว่าง Clustered และดัชนีที่ไม่เป็นคลัสเตอร์

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

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

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

ดัชนีคือคีย์ที่สร้างขึ้นจากคอลัมน์ตั้งแต่หนึ่งคอลัมน์ขึ้นไปในฐานข้อมูลที่ช่วยเพิ่มความเร็วในการดึงแถวจากตารางหรือมุมมอง คีย์นี้ช่วยให้ฐานข้อมูลชอบ Oracle, เซิร์ฟเวอร์ SQL, MySQLฯลฯ เพื่อค้นหาแถวที่เกี่ยวข้องกับค่าคีย์ได้อย่างรวดเร็ว

ดัชนีสองประเภทคือ:

  • Clusterดัชนีเอ็ด
  • ไม่Clusterดัชนีเอ็ด

อะไรคือ a Clusterดัชนีเอ็ด?

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

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

ดัชนีแบบไม่คลัสเตอร์คืออะไร

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

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

ลักษณะของ Clusterดัชนีเอ็ด

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

ลักษณะของดัชนีที่ไม่คลัสเตอร์

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

Clusterความแตกต่างที่สำคัญระหว่าง ed และ Non-cluster Index ใน SQL

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

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

ในตัวอย่างด้านล่าง SalesOrderDetailID คือดัชนีคลัสเตอร์ ตัวอย่างแบบสอบถามเพื่อดึงข้อมูล

SELECT CarrierTrackingNumber, UnitPrice
FROM SalesData
WHERE SalesOrderDetailID = 6

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

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

ในตัวอย่างด้านล่าง ดัชนีที่ไม่ใช่คลัสเตอร์จะถูกสร้างขึ้นบน OrderQty และ ProductID ดังนี้

CREATE INDEX myIndex ON
SalesData (ProductID, OrderQty)

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

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

SELECT Product ID, OrderQty
FROM SalesData
WHERE ProductID = 714

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

ข้อดีของการ Clusterดัชนีเอ็ด

ข้อดี/ประโยชน์ของดัชนีคลัสเตอร์มีดังนี้:

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

ข้อดีของดัชนีแบบไม่คลัสเตอร์

ข้อดีของการใช้ดัชนีแบบไม่คลัสเตอร์มีดังนี้:

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

ข้อเสียของ Clusterดัชนีเอ็ด

นี่คือข้อเสียของการใช้ดัชนีคลัสเตอร์:

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

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

นี่คือข้อเสียของการใช้ดัชนีแบบไม่คลัสเตอร์:

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