Eu tenho uma tabela em um banco de dados do SQL Server com um índice em cluster na chave primária. A tabela possui 1 milhão de linhas. Se eu excluir 10 mil linhas da tabela, o índice será reestruturado durante a operação de exclusão?
A operação de exclusão faz parte do procedimento armazenado. Por vez, mais de um cliente pode estar executando o procedimento armazenado, no entanto, cada execução individual excluirá seu próprio conjunto de linhas (identificado exclusivamente pela chave primária). Estou bloqueando o bloqueio de teclas (do tipo U) quando vários clientes executam o procedimento. O bloqueio do bloqueador pertence a uma linha da mesma tabela e não faz parte de nenhuma transação em execução simultânea. Não deve haver nenhum bloqueio, pois cada execução está tentando excluir seu próprio conjunto de linhas. A escalação de bloqueio não está acontecendo, pois está desativada.
Suspeito que a operação de exclusão deva estar causando um reequilíbrio do índice e, portanto, durante o processo de reestruturação, ele pode bloquear a chave em qualquer linha da tabela.
Eu realmente aprecio qualquer opinião sobre isso.