ความแตกต่างระหว่าง B-Tree และ Bitmap ความแตกต่างระหว่าง

Anonim

B-Tree และ Bitmap

มีสองประเภทของดัชนีที่ใช้ใน Oracle เหล่านี้เป็น B-Tree และ Bitmap ดัชนีเหล่านี้ใช้สำหรับการปรับประสิทธิภาพซึ่งจะทำให้มองหาระเบียนและดึงข้อมูลได้เร็วมาก ฟังก์ชันดัชนีสร้างรายการสำหรับค่าทั้งหมดที่ปรากฏในคอลัมน์ที่จัดทำดัชนีไว้ ดัชนี B-Tree คือประเภทที่ใช้โดยระบบ OLTP ซึ่งส่วนใหญ่ใช้งานโดยค่าเริ่มต้น ในทางกลับกันบิตแม็ปเป็นรูปแบบดัชนีบีบอัดที่สูงซึ่งในกรณีส่วนใหญ่ใช้ในคลังข้อมูล

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

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

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

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

ต้นไม้ B ไม่ดีเมื่อต้องการหากลุ่มข้อมูลขนาดใหญ่ที่เกิน 10% ของข้อมูลย่อยBitmap ใช้ความท้าทายนี้เพื่อให้ได้ผลลัพธ์ที่มีคุณภาพสูงเนื่องจากทำงานได้ดีขึ้นเมื่อมีค่าที่แตกต่างกันเล็กน้อย

หากมีดัชนีจำนวนมากในตารางที่ไม่ว่างโดยใช้ B-Tree ปัญหาอาจเกิดขึ้นเนื่องจากการลงโทษเล็กน้อยเมื่อใส่ข้อมูลที่ทำดัชนีหรือในกรณีที่คุณต้องการแทรกและอัปเดตข้อมูลที่จัดทำดัชนีไว้ นี่ไม่ใช่ปัญหาเกี่ยวกับ Bitmap เนื่องจากมีประสิทธิภาพในการแทรกและอัปเดตค่าต่างๆไม่ว่าจะเป็นขนาดที่มีปัญหาก็ตาม

สรุป

B-Tree และ Bitmap เป็นดัชนีสองประเภทที่ใช้ใน Oracle

Bitmap เป็นวิธีการจัดทำดัชนีเสนอข้อได้เปรียบด้านประสิทธิภาพและการประหยัดสตอเรจ

ดัชนี B-Tree คือดัชนีที่สร้างขึ้นใน คอลัมน์ที่มีค่าที่ไม่ซ้ำกันมาก

B-Tree ทำงานได้ดีที่สุดด้วยค่าที่จัดทำดัชนี

บิตแมปทำงานได้ดีที่สุดด้วยค่าที่จัดทำดัชนี