จากประสบการณ์ที่ผ่านมาเกณฑ์ต้นทุนสำหรับความเท่าเทียมไม่ได้ช่วยลด CXPACKET
การCXPACKET
รอคอยสูงสามารถเกิดขึ้นได้เนื่องจากสถิติที่ไม่ถูกต้องส่งผลให้เกิด Parallellism แบบเบ้
- เพิ่มเติมเกี่ยวกับ CXPACKET กำลังรอ: Parallelism เบ้
- รายการ Microsoft Connect
- ข้อความค้นหาของฉันคือ (ไม่) กำลังรอเพราะความเท่าเทียมกันหรือไม่ - ทิมฟอร์ด
ต่อไปนี้คือ SQL ฉันใช้เพื่อค้นหาเซสชันที่มีทั้งCXPacketและ " other waits " อยู่ข้างใน (โปรดดูที่ dagram ด้านล่าง)
SQL
DECLARE @RawResult TABLE ([database_id] INT,[session_id] INT,exec_context_id INT, [blocking_session_id] INT,task_state VARCHAR(20),
[cpu_time] BIGINT,[wait_duration_ms] BIGINT, [wait_type] VARCHAR(100),[resource_description] nvarchar(3072),
[sql_handle] varbinary(64),[plan_handle] varbinary(64)
)
INSERT INTO @RawResult
SELECT
[R].[database_id],
[S].[session_id],
[W].exec_context_id,
[W].blocking_session_id,
[T].task_state,
[R].[cpu_time],
[W].[wait_duration_ms],
[W].[wait_type],
[W].[resource_description],
[R].[sql_handle],
[R].[plan_handle]
FROM sys.dm_os_waiting_tasks [W]
INNER JOIN sys.dm_os_tasks [T] ON
[W].[waiting_task_address] = [T].[task_address]
INNER JOIN sys.dm_exec_sessions [S] ON
[W].[session_id] = [S].[session_id]
INNER JOIN sys.dm_exec_requests [R] ON
[S].[session_id] = [R].[session_id]
WHERE [S].[is_user_process] = 1
--AND S.session_id <> @@SPID--???
--ORDER BY [W].[session_id],[W].[exec_context_id];
SELECT
DB_NAME(C.database_id) AS database_name,
C.[database_id],
C.[session_id],
C.exec_context_id,
C.blocking_session_id,
C.task_state,
C.[cpu_time],
C.[wait_duration_ms],
C.[wait_type],
C.[sql_handle],
C.[plan_handle],
[H].text,
[P].[query_plan],
C.[resource_description]
FROM @RawResult C
OUTER APPLY sys.dm_exec_sql_text (C.[sql_handle]) [H]
OUTER APPLY sys.dm_exec_query_plan (C.[plan_handle]) [P]
WHERE C.[session_id] IN
(
SELECT A.[session_id]
FROM @RawResult A
INNER JOIN @RawResult B
ON A.[session_id] = B.[session_id]
AND A.wait_type='CXPACKET'
AND B.wait_type <> 'CXPACKET'
)
ORDER BY C.[session_id],C.[exec_context_id]
การสแกนขนาดใหญ่สามารถเป็นส่วนหนึ่งของสาเหตุที่แท้จริงได้ เมื่อฉันตรวจสอบแผนการดำเนินการจากแบบสอบถามด้านบนฉันพบการสแกนหนึ่งรายการในฐานข้อมูลของฉัน นอกจากนี้ยังมีข้อเสนอแนะดัชนีที่ขาดหายไปในแผนการดำเนินการ