-- Feb 26 In-Class Exercise
EyeColor:
6 bytes record pointer * 1,000,000 records = 6,000,000 bytes
3 possible values * (4 bytes integer + 6 bytes record pointer) = 30 bytes
6,000,030 bytes / 4096 bytes/block = 1,465 blocks
HairColor:
Same as EyeColor for record pointers + 5 possible values * (4 bytes integer + 6 bytes record pointer) = 50 bytes
6,000,050 bytes / 4096 bytes/block = 1,465 blocks
1,465 blocks * 2 = 2,930 blocks
2,930 blocks for 1,000,000 records with 2 indexes on EyeColor & HairColor
Bitmap Index:
EyeColor
We need 1,000,000 bits * 3 possible values = 3,000,000 bits
3,000,000 bits * 1 byte/8 bits = 375,000 bytes
375,000 bytes / 4096 bytes/block = 92 blocks
HairColor
We need 1,000,000 bits * 5 possible values = 5,000,000 bits
5,000,000 bits * 1 byte/8 bits = 625,000 bytes
625,000 bytes / 4096 bytes/block = 153 blocks
In total, we need 92 + 153 blocks = 245 blocks for a bitmap index
(
Edited: 2020-02-26)
EyeColor:
6 bytes record pointer * 1,000,000 records = 6,000,000 bytes
3 possible values * (4 bytes integer + 6 bytes record pointer) = 30 bytes
6,000,030 bytes / 4096 bytes/block = 1,465 blocks
HairColor:
Same as EyeColor for record pointers + 5 possible values * (4 bytes integer + 6 bytes record pointer) = 50 bytes
6,000,050 bytes / 4096 bytes/block = 1,465 blocks
1,465 blocks * 2 = 2,930 blocks
2,930 blocks for 1,000,000 records with 2 indexes on EyeColor & HairColor
Bitmap Index:
EyeColor
We need 1,000,000 bits * 3 possible values = 3,000,000 bits
3,000,000 bits * 1 byte/8 bits = 375,000 bytes
375,000 bytes / 4096 bytes/block = 92 blocks
HairColor
We need 1,000,000 bits * 5 possible values = 5,000,000 bits
5,000,000 bits * 1 byte/8 bits = 625,000 bytes
625,000 bytes / 4096 bytes/block = 153 blocks
In total, we need 92 + 153 blocks = 245 blocks for a bitmap index