Reducing update statistics impact on concurrent processes

Since update statistics uses dirty reads (transaction isolation level 0) for data-only-locked tables, you can execute it while other tasks are active on the server; it does not block access to tables and indexes. Updating statistics for leading columns in indexes requires only a leaf-level scan of the index, and does not require a sort, so updating statistics for these columns does not affect concurrent performance very much.

However, updating statistics for unindexed and non-leading columns, which require a table scan, worktable, and sort can affect concurrent processing.

Creating the worktables for sorts also uses space in tempdb.