CXROWSET_SYNC
Short Description
Occurs during a parallel range scan.
Detailed Description​
CXROWSET_SYNC
waits occur when parallel query plans are running. When a parallel query is called for, the query is broken down into sub-queries and work assigned to each. For each package of work assigned to worker threads, a record is kept of these row-set assignments. This wait is seen when exclusive access is requested of the record keeping object.
How to reduce this wait​
- DO NOT OVERUSE PARALLEL QUERY BEHAVIOUR. It is rare that setting
MAXDOP
to 0 will provide best performance. Test queries, settingMAXDOP
to values from 1 to your number of CPUs. - In isolation for a single user, parallel query plans can yield fast results - but beware of flooding a server with producers and consumers if you build this into a system with a high number of concurrent users as the thread count can shoot through the roof.
- If waiting is excessive and cannot be reduced by tuning the query (such as adding indexes), consider adjusting the Cost Threshold for Parallelism. Popular advice says that you can lower the Max Degree of Parallelism (MaxDOP), but this should not be done in isolation - testing is advised.
Additional Links​
- Microsoft Docs - sys.dm_os_wait_stats (Transact-SQL)
- sqlskills.com - CXROWSET_SYNC
- Knee-jerk Wait Statistics - CXPACKET
Search online​
If this article doesn't have the information you need you can try searching online. Remember, you can contribute suggestions to this page.