Ler 8 bytes do disco custa quase o mesmo que ler 8 kilobytes. Por quê?
Heap file, do inglês, é um arquivo em que as linhas ficam sem ordem definida, na primeira posição livre.
Cada coluna ocupa um número fixo de bytes, e cada linha ocupa a soma. Assim a posição de qualquer linha é uma conta, não uma busca.
página 4096 bytes, registro de 8 bytes → 512 registros por página deslocamento(slot) = cabeçalho + slot * 8 linha 3 da página 7 começa no byte: 7 * 4096 + cabeçalho + 3 * 8
O RID, do inglês record identifier, é o par (número da página, número do slot). É o endereço permanente de uma linha.
Slots crescem de uma ponta, dados da outra. Permite linha de tamanho variável.
não faremos
Um bit por coluna diz se o valor está ausente, sem gastar o espaço do campo.
não faremos
Guarda cada coluna junta, em vez de cada linha junta. Domina análise de dados.
vira seminário
Tamanho fixo custa espaço e proíbe VARCHAR livre. Ganhamos o semestre inteiro em troca.
Próxima: laboratório do M1, leitura e escrita de páginas