Extendible Hashing for DBMS
1.0.0
การใช้งานระดับต่ำของการแฮชแบบขยายได้สำหรับระบบฐานข้อมูล
วิธีการนี้ใช้ไดเร็กทอรีและบัคเก็ตเพื่อแฮชข้อมูล และเป็นที่รู้จักอย่างกว้างขวางในเรื่องความยืดหยุ่นและประสิทธิภาพในเวลาในการคำนวณ
ตัวอย่างเช่น คุณมีสารบัญนี้:
| บัตรประจำตัวประชาชน | ชื่อ | นามสกุล | เมือง |
|---|---|---|---|
| 26 | มาเรีย | โคโรนิส | ฮ่องกง |
| 14 | คริสโตโฟรอส | ไกทานิส | โตเกียว |
| 16 | มาเรียนนา | คาร์วูนาริ | ไมอามี่ |
| 12 | ธีโอฟิลอส | นิโคโลปูลอส | ลอนดอน |
| 10 | ไอโอซิฟ | สวิงโกส | โตเกียว |
| 21 | ธีโอฟิลอส | มิชาส | เอเธนส์ |
| 17 | จอร์จอส | กลิ่นปาก | มิวนิค |
หากแต่ละบล็อกของหน่วยความจำสามารถบันทึกได้เพียง 2 รายการ ไฟล์แฮชหลังจากการแทรกทั้งหมดจะมีลักษณะดังนี้:
โปรแกรมสามารถรันด้วยฟังก์ชันหลักที่แตกต่างกันสองฟังก์ชัน อันแรกนี้จะแทรกบันทึกจำนวนมากในไฟล์ และอันที่สองจะสร้างและแทรกบันทึกลงในไฟล์ที่แตกต่างกันสามไฟล์พร้อมกัน
test_main1:
make main1
./build/runner
ทดสอบ_main2:
make main2
./build/runner