SESSION_WAIT_STATS_CHILDREN is recorded when a thread waits to synchronise updates to the per-session wait statistics behind sys.dm_exec_session_wait_stats, the DMV that gives you sys.dm_os_wait_stats-style numbers scoped to one session. Parallel queries mean multiple child tasks feeding one session’s tally, hence the synchronisation and the name.
Wait statistics about maintaining wait statistics: agreeably meta.
Is It a Problem?
No; it has not been a contention point. Parallel-heavy sessions generate proportionally more of it, and even then the amounts stay trivial. Filter it.
The DMV it serves is worth more attention than the wait: session-scoped wait stats are excellent for targeted troubleshooting (“what did this session wait on?”) without the noise of instance-wide cumulative numbers, and they reset per session, sidestepping the since-restart problem.
Common Causes
- Parallel query tasks updating their session’s wait statistics concurrently.
What To Do
- Filter it out of wait analysis.
- Use
sys.dm_exec_session_wait_statsdeliberately in troubleshooting; it is the per-session lens this bookkeeping pays for.
How To See It
Rank waits with Get-WaitStatistics; expect traces proportional to parallel activity.
Part of the SQL Server Wait Types Library.
Related deep dive: CXPACKET and CXCONSUMER Wait Types.
Leave a Reply