Ho una tabella in un database SQL Server con un indice cluster sulla chiave primaria. La tabella ha 1 milione di righe. Se elimino 10.000 righe dalla tabella, l'indice viene ristrutturato durante l'esecuzione dell'eliminazione?
L'operazione di cancellazione fa parte della procedura memorizzata. Alla volta, più di un client può eseguire la procedura memorizzata, tuttavia ogni singola esecuzione eliminerà il proprio set di righe (identificato in modo univoco dalla chiave primaria). Ricevo il blocco su Blocco tasti (di tipo U) quando più client eseguono la procedura. Il blocco del blocco appartiene a una riga della stessa tabella e non fa parte di alcuna transazione in esecuzione contemporaneamente. Non ci dovrebbero essere blocchi poiché ogni esecuzione sta cercando di eliminare il proprio set di righe. L'escalation del blocco non si verifica poiché è disattivata.
Ho il sospetto che l'operazione di cancellazione debba causare il riequilibrio dell'indice e quindi durante il processo di ristrutturazione può richiedere il blocco delle chiavi su qualsiasi riga della tabella.
Gradirei davvero qualsiasi opinione al riguardo.