Ao criar um índice não clusterizado, o nível folha conterá uma referência às linhas da tabela original:
- se a tabela tiver índice clusterizado, o nível folha conterá a chave do índice clusterizado;
- se a tabela não tiver índice clusterizado (um heap), o nível folha conterá um ponteiro para o endereço físico da linha na tabela;
Minha pergunta é por que o índice não clusterizado não foi projetado para conter o endereço físico em ambos os casos (além da chave de índice clusterizado). Ele pode salvar as leituras do B-Tree para pesquisas de chave quando o índice clusterizado é definido.