Ja maar in dit geval wordt je data dus alleen maar opgeslagen in een b-tree, die clustered index en niet daarnaast ook in een heap table.
De clustered index is alleen niet efficiënt als er grote gaten in zijn gevallen, maar dat zal SQL server ook wel voor je fixen uiteindelijk. Het is vooral zaak om een index te kiezen die niet random is en waar inserts bij voorkeur aan het eind gebeuren en deletes niet random door de index heen.
Ja maar wanneer heb je dat, een primary key met een default technisch identity column
Ben je dan nog heel veel bent opgeschoten ten opzichte van een heap table met een non-clustered index ?
Maar inderdaad er zijn wat gotchas. Maar de documentatie erover is vrij uitgebreid hoor.
Hmm dan heb ik misschien nog niet de juiste documentatie pagina gevonden

Denk dat het trouwens juist efficiënter is dat het naar de clustered index wijst ipv de rowid. Want anders zou bij elke insert halverwege ofzo alle indexen opnieuw moeten worden gezet. Nu alleen als de entry in de clustered index wijzigt.
Ik zou zeggen juist vaker, als je er non-clustered indexen klommen naast hebt die niet geupdate zouden hoeven te worden bij een update, zul je die nu waarschijnlijk wellicht wel vaker moeten updaten omdat het veld wat geupdate is wellicht onderdeel is van de key van die clustered index.
Dus zeg tabel met kolommen a, b, c, d, e. Primary key en default clustered index op (a, b, c)
Non clustered op d en Non clustered op e.
Als je nu up een rij een update doet op veld b, moet je de clustered index updaten en in order houden, en de beide Non-clustered updaten. Terwijl als je geen clustered index had gehad, Je af had gekund met het updaten van je heap-row en je non-clustered index over (a, b ,c) eventueel met d en e als included columns, zodat je die query die je effcient zou maken met je clustered index, ook met je full coverende non-clusterd index zou kunnen beantwoorden. Lijkt exrta storage van een heap table te kosten, maar je indexen op d en e zouden ook kleiner moeten kunnen zijn, want ze hoeven in hun leave-node niet te verwijzen naar (a, b, c) maar alleen naar een row id van de heap table.
Alles is plots afhankelijk geworden van die key van je clustered index ipv dat het naar een rowid kan verwijzen en ik vraag me erg af hoevaak die trade-off dan in het voordeel van die clustered index gaat uitvallen voor tabellen die niet bepaald eenduidig via alleen een primary key gequeried gaan worden.