Antes, não havia conclusões conclusivas para mim / debates sobre se (sempre) envolvia / evitava índices agrupados.
Bem, eu entendi que eles devem ser usados algumas vezes com propósitos e contexto específicos + adequados.
Requisito de índice clusterizado do banco de dados do SQL Azure :
"O SQL Azure não suporta tabelas sem índices em cluster. Uma tabela deve ter um índice em cluster. Se uma tabela for criada sem uma restrição em cluster, um índice em cluster deverá ser criado antes que uma operação de inserção seja permitida na tabela"
não se encaixa nas conclusões, razões e explicações anteriores.
Qual é a lógica, que eu perdi das explicações anteriores, da onipresença rigidamente imposta de índices agrupados sem nenhuma exceção?
sql-server
database-design
azure-sql-database
index
Gennady Vanin Геннадий Ванин
fonte
fonte
Respostas:
Leia Dentro do SQL Azure :
As chaves em cluster são necessárias para que as três réplicas dos seus dados possam ser mantidas em sincronia. Sem uma chave, é impossível saber quais linhas foram atualizadas. As pilhas (tabelas sem um índice clusterizado) têm apenas 'chaves' físicas (fileid: pageid: slot) e, como suas três réplicas do banco de dados lógico compartilham o banco de dados físico com outros bancos de dados lógicos, o endereço físico em um servidor não tem significado no outro réplicas, portanto, não é possível replicar pilhas.
fonte
O Azure é um sistema distribuído baseado em nuvem em servidores remotos. Os dados provavelmente serão armazenados em várias unidades / servidores, e seria extremamente ineficiente fazer isso em um heap (já que o sistema precisará saber qual máquina verificar, e sem um índice em cluster, essa é uma operação que exige muitos recursos) .
O índice em cluster fornece uma pesquisa para todas as linhas e todos os outros índices na tabela, portanto, sem uma em cada operação do azure, seria uma varredura de tabela em várias máquinas.
fonte