Coalesce is particularly efficient and uses less resources when the
percentage of the overall index structure that’s problematic and
fragmented is relatively small (say less than approximately 20-25% of
leaf blocks). Rebuild is particularly efficient when the percentage of the
overall index structure that’s problematic and fragmented is relatively
large and the average degree of fragmentation within an index leaf
block is relatively high.
Coalesce is designed specifically to reduce fragmentation within an
index but not to deallocate any freed up blocks which are placed on the
freelist and recycled by subsequent block splits.
Shrink is designed specifically to reduce the overall size of an index
segment, resetting the High Water Mark (HWM) and releasing
any excess storage as necessary.