Hash-Based Indexes: Introduction To Database, Fall 2004/melikyan 1
Hash-Based Indexes: Introduction To Database, Fall 2004/melikyan 1
Chapter 10
0
h(key) mod N
2
key
h
N-1
Primary bucket pages Overflow pages
Introduction to Database, Fall 2004/Melikyan 3
Static Hashing (Contd.)
2 2
Bucket B
00 1* 5* 21* 13*
Directory is array of size 4.
01
To find bucket for r, take last
2
`global depth # bits of h(r); we 10
Bucket C
denote r by h(r). 11 10*
DATA PAGES
LOCAL DEPTH 2 3
LOCAL DEPTH
Bucket A
GLOBAL DEPTH 32*16* 32* 16* Bucket A
GLOBAL DEPTH
2 2
3 2
00 1* 5* 21*13* Bucket B 000 1* 5* 21* 13* Bucket B
01 001
10 2 2
010
10* Bucket C
11 10*
011 Bucket C
100
2
DIRECTORY 101 2
Bucket D
15* 7* 19*
110 15* 7* 19* Bucket D
111
2
3
4* 12* 20* Bucket A2
DIRECTORY 4* 12* 20* Bucket A2
(`split image'
of Bucket A) (`split image'
of Bucket A)
Introduction to Database, Fall 2004/Melikyan 7
Points to Note
6 = 110 3 6 = 110 3
000 000
001 100
2 2
010 010
1 00 1 00
011 110
0 6* 01 100 0 10 001
1 10 6* 1 6* 01
101 101
6*
11 110 6* 11
011 6*
111 111
Level=1
PRIMARY OVERFLOW
h1 h0 PAGES PAGES
Next=0
Level=0 000 00 32*
PRIMARY OVERFLOW
h1 h0 PAGES PAGES
001 01 9* 25*
000 00 32*
010 10 66* 18* 10* 34* 50*
001 01 9* 25*
011 11 43* 35* 11*
010 10 66*18* 10* 34*
Next=3 100 00 44* 36*
011 11 31*35* 7* 11* 43*