求救:查询一直在等待
系统执行一个查询时,一直在等待,不做事,没有锁,事物也一直在执行,但n个小时还能出来结果,执行sp_who查看,显示如下相关信息265 26 sync sleep mjk mjk 0 apparel tempdb WORKER PROCESS 0
265 45 sync sleep mjk mjk 0 apparel tempdb WORKER PROCESS 0
265 58 sync sleep mjk mjk 0 apparel tempdb WORKER PROCESS 0
265 84 sync sleep mjk mjk 0 apparel tempdb WORKER PROCESS 0
。。。。。
265 211 sync sleep mjk mjk 0 apparel tempdb WORKER PROCESS 0
265 246 sync sleep mjk mjk 0 apparel tempdb WORKER PROCESS 0
265 265 running mjk mjk 0 apparel tempdb SELECT 0
265 290 sync sleep mjk mjk 0 apparel tempdb WORKER PROCESS 0
。。。。。
265 506 sync sleep mjk mjk 0 apparel tempdb WORKER PROCESS 0
该查询的执行计划如下:
QUERY PLAN FOR STATEMENT 1 (at line 1).
STEP 1
The type of query is EXECUTE.
Executing a previously cached statement (SSQL_ID = 285992175).
QUERY PLAN FOR STATEMENT 1 (at line 1).
Executed in parallel by coordinating process and 32 worker processes.
Auxiliary scan descriptors required: 31
STEP 1
The type of query is SELECT.
109 operator(s) under root
|ROOT:EMIT Operator (VA = 109)
|
| |SEQUENCER Operator (VA = 108) has 7 children.
| |
| | |STORE Operator (VA = 3)
| | |Worktable1 created, in allpages locking mode, for REFORMATTING.
| | |Creating clustered index.
| | |
| | | |INSERT Operator (VA = 2)
| | | |The update mode is direct.
| | | |
| | | | |RESTRICT Operator (VA = 1)(0)(0)(0)(15)(0)
| | | | |
| | | | | |SCAN Operator (VA = 0)
| | | | | |FROM TABLE
| | | | | |currbolt
| | | | | |Table Scan.
| | | | | |Forward Scan.
| | | | | |Positioning at start of table.
| | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | |
| | | |TO TABLE
| | | |Worktable1.
| |
| | |STORE Operator (VA = 6)
| | |Worktable2 created, in allpages locking mode, for REFORMATTING.
| | |Creating clustered index.
| | |
| | | |INSERT Operator (VA = 5)
| | | |The update mode is direct.
| | | |
| | | | |SCAN Operator (VA = 4)
| | | | |FROM TABLE
| | | | |stock_list
| | | | |Table Scan.
| | | | |Forward Scan.
| | | | |Positioning at start of table.
| | | | |Using I/O Size 2 Kbytes for data pages.
| | | | |With LRU Buffer Replacement Strategy for data pages.
| | | |
| | | |TO TABLE
| | | |Worktable2.
| |
| | |STORE Operator (VA = 10)
| | |Worktable3 created, in allpages locking mode, for REFORMATTING.
| | |Creating clustered index.
| | |
| | | |INSERT Operator (VA = 9)
| | | |The update mode is direct.
| | | |
| | | | |RESTRICT Operator (VA = 8)(0)(0)(0)(6)(0)
| | | | |
| | | | | |SCAN Operator (VA = 7)
| | | | | |FROM TABLE
| | | | | |item_master
| | | | | |Table Scan.
| | | | | |Forward Scan.
| | | | | |Positioning at start of table.
| | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | |
| | | |TO TABLE
| | | |Worktable3.
| |
| | |STORE Operator (VA = 14)
| | |Worktable4 created, in allpages locking mode, for REFORMATTING.
| | |Creating clustered index.
| | |
| | | |INSERT Operator (VA = 13)
| | | |The update mode is direct.
| | | |
| | | | |RESTRICT Operator (VA = 12)(0)(0)(0)(15)(0)
| | | | |
| | | | | |SCAN Operator (VA = 11)
| | | | | |FROM TABLE
| | | | | |currbolt
| | | | | |Table Scan.
| | | | | |Forward Scan.
| | | | | |Positioning at start of table.
| | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | |
| | | |TO TABLE
| | | |Worktable4.
| |
| | |STORE Operator (VA = 18)
| | |Worktable5 created, in allpages locking mode, for REFORMATTING.
| | |Creating clustered index.
| | |
| | | |INSERT Operator (VA = 17)
| | | |The update mode is direct.
| | | |
| | | | |RESTRICT Operator (VA = 16)(0)(0)(0)(5)(0)
| | | | |
| | | | | |SCAN Operator (VA = 15)
| | | | | |FROM TABLE
| | | | | |wiseform..customer
| | | | | |b
| | | | | |Table Scan.
| | | | | |Forward Scan.
| | | | | |Positioning at start of table.
| | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | |
| | | |TO TABLE
| | | |Worktable5.
| |
请各位大侠帮忙看看,问题出在哪儿? 接上面
| | |STORE Operator (VA = 22)
| | |Worktable6 created, in allpages locking mode, for REFORMATTING.
| | |Creating clustered index.
| | |
| | | |INSERT Operator (VA = 21)
| | | |The update mode is direct.
| | | |
| | | | |RESTRICT Operator (VA = 20)(0)(0)(0)(15)(0)
| | | | |
| | | | | |SCAN Operator (VA = 19)
| | | | | |FROM TABLE
| | | | | |inbill
| | | | | |Table Scan.
| | | | | |Forward Scan.
| | | | | |Positioning at start of table.
| | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | |
| | | |TO TABLE
| | | |Worktable6.
| |
| | |HASH UNION Operator (VA = 107)has 4 children.
| | | Using Worktable27 for internal storage.
| | |Key Count: 39
| | |
| | | |RESTRICT Operator (VA = 49)(0)(2)(0)(0)(3)
| | | |
| | | | |MERGE JOIN Operator (Join Type: Inner Join) (VA = 48)
| | | | | Using Worktable16 for internal storage.
| | | | |Key Count: 3
| | | | |Key Ordering: ASC ASC ASC
| | | | |
| | | | | |SORT Operator (VA = 45)
| | | | | | Average Row width is 582.631836
| | | | | | Using Worktable15 for internal storage.
| | | | | |
| | | | | | |MERGE JOIN Operator (Join Type: Left Outer Join) (VA = 44)
| | | | | | | Using Worktable14 for internal storage.
| | | | | | |Key Count: 1
| | | | | | |Key Ordering: ASC
| | | | | | |
| | | | | | | |SORT Operator (VA = 42)
| | | | | | | | Average Row width is 576.631836
| | | | | | | | Using Worktable13 for internal storage.
| | | | | | | |
| | | | | | | | |NESTED LOOP JOIN Operator (VA = 41) (Join Type: Left Outer Join)
| | | | | | | | |
| | | | | | | | | |MERGE JOIN Operator (Join Type: Inner Join) (VA = 39)
| | | | | | | | | | Using Worktable12 for internal storage.
| | | | | | | | | |Key Count: 5
| | | | | | | | | |Key Ordering: ASC ASC ASC ASC ASC
| | | | | | | | | |
| | | | | | | | | | |SORT Operator (VA = 33)
| | | | | | | | | | | Average Row width is 206.123230
| | | | | | | | | | | Using Worktable10 for internal storage.
| | | | | | | | | | |
| | | | | | | | | | | |N-ARY NESTED LOOP JOIN Operator (VA = 32) has 3 children.
| | | | | | | | | | | |
| | | | | | | | | | | | |MERGE JOIN Operator (Join Type: Inner Join) (VA = 28)
| | | | | | | | | | | | | Using Worktable9 for internal storage.
| | | | | | | | | | | | |Key Count: 1
| | | | | | | | | | | | |Key Ordering: ASC
| | | | | | | | | | | | |
| | | | | | | | | | | | | |SORT Operator (VA = 24)
| | | | | | | | | | | | | | Average Row width is 57.338165
| | | | | | | | | | | | | | Using Worktable7 for internal storage.
| | | | | | | | | | | | | |
| | | | | | | | | | | | | | |SCAN Operator (VA = 23)
| | | | | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | | | | |item_categ
| | | | | | | | | | | | | | |Table Scan.
| | | | | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | | | | |Positioning at start of table.
| | | | | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | | | | |
| | | | | | | | | | | | | |SORT Operator (VA = 27)
| | | | | | | | | | | | | | Average Row width is 87.033051
| | | | | | | | | | | | | | Using Worktable8 for internal storage.
| | | | | | | | | | | | | |
| | | | | | | | | | | | | | |RESTRICT Operator (VA = 26)(0)(0)(0)(6)(0)
| | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |SCAN Operator (VA = 25)
| | | | | | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | | | | | |item_master
| | | | | | | | | | | | | | | |Table Scan.
| | | | | | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | | | | | |Positioning at start of table.
| | | | | | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | | | |
| | | | | | | | | | | | |SCAN Operator (VA = 29)
| | | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | | |Worktable1.
| | | | | | | | | | | | |Using Clustered Index.
| | | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | | |Positioning by key.
| | | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | | | |
| | | | | | | | | | | | |RESTRICT Operator (VA = 31)(3)(0)(0)(0)(0)
| | | | | | | | | | | | |
| | | | | | | | | | | | | |SCAN Operator (VA = 30)
| | | | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | | | |Worktable2.
| | | | | | | | | | | | | |Using Clustered Index.
| | | | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | | | |Positioning by key.
| | | | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | |
| | | | | | | | | | |SORT Operator (VA = 38)
| | | | | | | | | | | Average Row width is 130.508636
| | | | | | | | | | | Using Worktable11 for internal storage.
| | | | | | | | | | |
| | | | | | | | | | | |EXCHANGE Operator (VA = 37) (Merged)
| | | | | | | | | | | |Executed in parallel by 32 Producer and 1 Consumer processes.
| | | | | | | | | | | |
| | | | | | | | | | | | |EXCHANGE:EMIT Operator (VA = 36)
| | | | | | | | | | | | |
| | | | | | | | | | | | | |RESTRICT Operator (VA = 35)(0)(0)(0)(15)(0)
| | | | | | | | | | | | | |
| | | | | | | | | | | | | | |SCAN Operator (VA = 34)
| | | | | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | | | | |inbill
| | | | | | | | | | | | | | |Table Scan.
| | | | | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | | | | |Positioning at start of table.
| | | | | | | | | | | | | | |Executed in parallel with a 32-way hash scan.
| | | | | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | |
| | | | | | | | | |SCAN Operator (VA = 40)
| | | | | | | | | |FROM TABLE
| | | | | | | | | |purchase_order
| | | | | | | | | |Index : purchase_order_x1
| | | | | | | | | |Forward Scan.
| | | | | | | | | |Positioning by key.
| | | | | | | | | |Keys are:
| | | | | | | | | | po_number ASC
| | | | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | |
| | | | | | | |SCAN Operator (VA = 43)
| | | | | | | |FROM TABLE
| | | | | | | |buyer
| | | | | | | |Table Scan.
| | | | | | | |Forward Scan.
| | | | | | | |Positioning at start of table.
| | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | |
| | | | | |RESTRICT Operator (VA = 47)(0)(0)(0)(5)(0)
| | | | | |
| | | | | | |SCAN Operator (VA = 46)
| | | | | | |FROM TABLE
| | | | | | |customer
| | | | | | |Index : customer_x
| | | | | | |Forward Scan.
| | | | | | |Positioning at index start.
| | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | |
| | | |RESTRICT Operator (VA = 66)(0)(2)(0)(0)(3)
| | | |
| | | | |NESTED LOOP JOIN Operator (VA = 65) (Join Type: Inner Join)
| | | | |
| | | | | |NESTED LOOP JOIN Operator (VA = 63) (Join Type: Left Outer Join)
| | | | | |
| | | | | | |SQFILTER Operator (VA = 61) has 2 children.
| | | | | | |
| | | | | | | |NESTED LOOP JOIN Operator (VA = 57) (Join Type: Left Outer Join)
| | | | | | | |
| | | | | | | | |N-ARY NESTED LOOP JOIN Operator (VA = 55) has 4 children.
| | | | | | | | |
| | | | | | | | | |SCAN Operator (VA = 50)
| | | | | | | | | |FROM TABLE
| | | | | | | | | |item_categ
| | | | | | | | | |Table Scan.
| | | | | | | | | |Forward Scan.
| | | | | | | | | |Positioning at start of table.
| | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | |
| | | | | | | | | |SCAN Operator (VA = 51)
| | | | | | | | | |FROM TABLE
| | | | | | | | | |Worktable3.
| | | | | | | | | |Using Clustered Index.
| | | | | | | | | |Forward Scan.
| | | | | | | | | |Positioning by key.
| | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | |
| | | | | | | | | |SCAN Operator (VA = 52)
| | | | | | | | | |FROM TABLE
| | | | | | | | | |Worktable4.
| | | | | | | | | |Using Clustered Index.
| | | | | | | | | |Forward Scan.
| | | | | | | | | |Positioning by key.
| | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | |
| | | | | | | | | |RESTRICT Operator (VA = 54)(0)(0)(0)(1)(0)
| | | | | | | | | |
| | | | | | | | | | |SCAN Operator (VA = 53)
| | | | | | | | | | |FROM TABLE
| | | | | | | | | | |inbill
| | | | | | | | | | |Index : inbill_copy_x
| | | | | | | | | | |Forward Scan.
| | | | | | | | | | |Positioning by key.
| | | | | | | | | | |Keys are:
| | | | | | | | | | | in_no ASC
| | | | | | | | | | | item_code ASC
| | | | | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | |
| | | | | | | | |SCAN Operator (VA = 56)
| | | | | | | | |FROM TABLE
| | | | | | | | |purchase_order
| | | | | | | | |Index : purchase_order_x1
| | | | | | | | |Forward Scan.
| | | | | | | | |Positioning by key.
| | | | | | | | |Keys are:
| | | | | | | | | po_number ASC
| | | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | |
| | | | | | |Run subquery 1 (at nesting level 1).
| | | | | | |
| | | | | | |QUERY PLAN FOR SUBQUERY 1 (at nesting level 1 and at line 1).
| | | | | | |
| | | | | | | Correlated Subquery.
| | | | | | | Subquery under an EXISTS predicate.
| | | | | | |
| | | | | | | |SCALAR AGGREGATE Operator (VA = 60)
| | | | | | | |Evaluate Ungrouped ANY AGGREGATE.
| | | | | | | |Scanning only up to the first qualifying row.
| | | | | | | |
| | | | | | | | |RESTRICT Operator (VA = 59)(3)(0)(0)(0)(0)
| | | | | | | | |
| | | | | | | | | |SCAN Operator (VA = 58)
| | | | | | | | | |FROM TABLE
| | | | | | | | | |stock_list
| | | | | | | | | |Index : pk_stock_list
| | | | | | | | | |Forward Scan.
| | | | | | | | | |Positioning at index start.
| | | | | | | | | |Index contains all needed columns. Base table will not be read.
| | | | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | |
| | | | | | |END OF QUERY PLAN FOR SUBQUERY 1.
| | | | | | 接上面
| | | | | | |SCAN Operator (VA = 62)
| | | | | | |FROM TABLE
| | | | | | |buyer
| | | | | | |Using Clustered Index.
| | | | | | |Index : buyer_19833981851
| | | | | | |Forward Scan.
| | | | | | |Positioning by key.
| | | | | | |Keys are:
| | | | | | | buyer_name ASC
| | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | |
| | | | | |SCAN Operator (VA = 64)
| | | | | |FROM TABLE
| | | | | |customer
| | | | | |Index : customer_x
| | | | | |Forward Scan.
| | | | | |Positioning by key.
| | | | | |Keys are:
| | | | | | sal_no ASC
| | | | | | cust_no ASC
| | | | | | trade_no ASC
| | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | |With LRU Buffer Replacement Strategy for data pages.
| | |
| | | |RESTRICT Operator (VA = 85)(0)(2)(0)(0)(5)
| | | |
| | | | |MERGE JOIN Operator (Join Type: Inner Join) (VA = 84)
| | | | | Using Worktable21 for internal storage.
| | | | |Key Count: 1
| | | | |Key Ordering: ASC
| | | | |
| | | | | |NESTED LOOP JOIN Operator (VA = 81) (Join Type: Inner Join)
| | | | | |
| | | | | | |SORT Operator (VA = 79)
| | | | | | | Average Row width is 547.985596
| | | | | | | Using Worktable19 for internal storage.
| | | | | | |
| | | | | | | |MERGE JOIN Operator (Join Type: Left Outer Join) (VA = 78)
| | | | | | | | Using Worktable18 for internal storage.
| | | | | | | |Key Count: 1
| | | | | | | |Key Ordering: ASC
| | | | | | | |
| | | | | | | | |SORT Operator (VA = 76)
| | | | | | | | | Average Row width is 541.985596
| | | | | | | | | Using Worktable17 for internal storage.
| | | | | | | | |
| | | | | | | | | |NESTED LOOP JOIN Operator (VA = 75) (Join Type: Left Outer Join)
| | | | | | | | | |
| | | | | | | | | | |N-ARY NESTED LOOP JOIN Operator (VA = 73) has 4 children.
| | | | | | | | | | |
| | | | | | | | | | | |SCAN Operator (VA = 67)
| | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | |wiseform..stock_list
| | | | | | | | | | | |f
| | | | | | | | | | | |Table Scan.
| | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | |Positioning at start of table.
| | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | | |
| | | | | | | | | | | |RESTRICT Operator (VA = 69)(0)(0)(0)(15)(0)
| | | | | | | | | | | |
| | | | | | | | | | | | |SCAN Operator (VA = 68)
| | | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | | |currbolt
| | | | | | | | | | | | |Index : ddd
| | | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | | |Positioning by key.
| | | | | | | | | | | | |Keys are:
| | | | | | | | | | | | | bolt_pcno ASC
| | | | | | | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | | |
| | | | | | | | | | | |SCAN Operator (VA = 70)
| | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | |wiseform..item_master
| | | | | | | | | | | |c
| | | | | | | | | | | |Index : item_master_copy_x
| | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | |Positioning by key.
| | | | | | | | | | | |Keys are:
| | | | | | | | | | | | item_code ASC
| | | | | | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | | |
| | | | | | | | | | | |RESTRICT Operator (VA = 72)(0)(0)(0)(1)(0)
| | | | | | | | | | | |
| | | | | | | | | | | | |SCAN Operator (VA = 71)
| | | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | | |inbill
| | | | | | | | | | | | |Index : inbill_copy_x
| | | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | | |Positioning by key.
| | | | | | | | | | | | |Keys are:
| | | | | | | | | | | | | in_no ASC
| | | | | | | | | | | | | item_code ASC
| | | | | | | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | |
| | | | | | | | | | |SCAN Operator (VA = 74)
| | | | | | | | | | |FROM TABLE
| | | | | | | | | | |wiseform..purchase_order
| | | | | | | | | | |d
| | | | | | | | | | |Index : abc
| | | | | | | | | | |Forward Scan.
| | | | | | | | | | |Positioning by key.
| | | | | | | | | | |Keys are:
| | | | | | | | | | | po_number ASC
| | | | | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | |
| | | | | | | | |SCAN Operator (VA = 77)
| | | | | | | | |FROM TABLE
| | | | | | | | |wiseform..buyer
| | | | | | | | |g
| | | | | | | | |Table Scan.
| | | | | | | | |Forward Scan.
| | | | | | | | |Positioning at start of table.
| | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | |
| | | | | | |SCAN Operator (VA = 80)
| | | | | | |FROM TABLE
| | | | | | |wiseform..customer
| | | | | | |b
| | | | | | |Using Clustered Index.
| | | | | | |Index : customer_19513980711
| | | | | | |Forward Scan.
| | | | | | |Positioning by key.
| | | | | | |Keys are:
| | | | | | | sal_no ASC
| | | | | | | cust_no ASC
| | | | | | | trade_no ASC
| | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | |
| | | | | |SORT Operator (VA = 83)
| | | | | | Average Row width is 58.593216
| | | | | | Using Worktable20 for internal storage.
| | | | | |
| | | | | | |SCAN Operator (VA = 82)
| | | | | | |FROM TABLE
| | | | | | |wiseform..item_categ
| | | | | | |e
| | | | | | |Table Scan.
| | | | | | |Forward Scan.
| | | | | | |Positioning at start of table.
| | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | |
| | | |RESTRICT Operator (VA = 106)(0)(2)(0)(0)(3)
| | | |
| | | | |SQFILTER Operator (VA = 105) has 2 children.
| | | | |
| | | | | |MERGE JOIN Operator (Join Type: Left Outer Join) (VA = 101)
| | | | | | Using Worktable26 for internal storage.
| | | | | |Key Count: 1
| | | | | |Key Ordering: ASC
| | | | | |
| | | | | | |SORT Operator (VA = 99)
| | | | | | | Average Row width is 648.469971
| | | | | | | Using Worktable25 for internal storage.
| | | | | | |
| | | | | | | |NESTED LOOP JOIN Operator (VA = 98) (Join Type: Left Outer Join)
| | | | | | | |
| | | | | | | | |NESTED LOOP JOIN Operator (VA = 96) (Join Type: Inner Join)
| | | | | | | | |
| | | | | | | | | |MERGE JOIN Operator (Join Type: Inner Join) (VA = 94)
| | | | | | | | | | Using Worktable24 for internal storage.
| | | | | | | | | |Key Count: 1
| | | | | | | | | |Key Ordering: ASC
| | | | | | | | | |
| | | | | | | | | | |N-ARY NESTED LOOP JOIN Operator (VA = 90) has 3 children.
| | | | | | | | | | |
| | | | | | | | | | | |SORT Operator (VA = 87)
| | | | | | | | | | | | Average Row width is 58.593216
| | | | | | | | | | | | Using Worktable22 for internal storage.
| | | | | | | | | | | |
| | | | | | | | | | | | |SCAN Operator (VA = 86)
| | | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | | |wiseform..item_categ
| | | | | | | | | | | | |e
| | | | | | | | | | | | |Table Scan.
| | | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | | |Positioning at start of table.
| | | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | | |
| | | | | | | | | | | |SCAN Operator (VA = 88)
| | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | |Worktable5.
| | | | | | | | | | | |Using Clustered Index.
| | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | |Positioning at start of table.
| | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | | |
| | | | | | | | | | | |SCAN Operator (VA = 89)
| | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | |Worktable6.
| | | | | | | | | | | |Using Clustered Index.
| | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | |Positioning by key.
| | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | | |
| | | | | | | | | | |SORT Operator (VA = 93)
| | | | | | | | | | | Average Row width is 90.925186
| | | | | | | | | | | Using Worktable23 for internal storage.
| | | | | | | | | | |
| | | | | | | | | | | |RESTRICT Operator (VA = 92)(0)(0)(0)(6)(0)
| | | | | | | | | | | |
| | | | | | | | | | | | |SCAN Operator (VA = 91)
| | | | | | | | | | | | |FROM TABLE
| | | | | | | | | | | | |wiseform..item_master
| | | | | | | | | | | | |c
| | | | | | | | | | | | |Table Scan.
| | | | | | | | | | | | |Forward Scan.
| | | | | | | | | | | | |Positioning at start of table.
| | | | | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | | |
| | | | | | | | | |SCAN Operator (VA = 95)
| | | | | | | | | |FROM TABLE
| | | | | | | | | |currbolt
| | | | | | | | | |Index : hhhh
| | | | | | | | | |Forward Scan.
| | | | | | | | | |Positioning by key.
| | | | | | | | | |Keys are:
| | | | | | | | | | in_no ASC
| | | | | | | | | | item_code ASC
| | | | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | | | |
| | | | | | | | |SCAN Operator (VA = 97)
| | | | | | | | |FROM TABLE
| | | | | | | | |wiseform..purchase_order
| | | | | | | | |d
| | | | | | | | |Index : abc
| | | | | | | | |Forward Scan.
| | | | | | | | |Positioning by key.
| | | | | | | | |Keys are:
| | | | | | | | | po_number ASC
| | | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | | |
| | | | | | |SCAN Operator (VA = 100)
| | | | | | |FROM TABLE
| | | | | | |wiseform..buyer
| | | | | | |g
| | | | | | |Table Scan.
| | | | | | |Forward Scan.
| | | | | | |Positioning at start of table.
| | | | | | |Using I/O Size 2 Kbytes for data pages.
| | | | | | |With LRU Buffer Replacement Strategy for data pages.
| | | | |
| | | | |Run subquery 1 (at nesting level 1).
| | | | |
| | | | |QUERY PLAN FOR SUBQUERY 1 (at nesting level 1 and at line 1).
| | | | |
| | | | | Correlated Subquery.
| | | | | Subquery under an EXISTS predicate.
| | | | |
| | | | | |SCALAR AGGREGATE Operator (VA = 104)
| | | | | |Evaluate Ungrouped ANY AGGREGATE.
| | | | | |Scanning only up to the first qualifying row.
| | | | | |
| | | | | | |RESTRICT Operator (VA = 103)(3)(0)(0)(0)(0)
| | | | | | |
| | | | | | | |SCAN Operator (VA = 102)
| | | | | | | |FROM TABLE
| | | | | | | |wiseform..stock_list
| | | | | | | |f
| | | | | | | |Index : pk_stock_list
| | | | | | | |Forward Scan.
| | | | | | | |Positioning at index start.
| | | | | | | |Index contains all needed columns. Base table will not be read.
| | | | | | | |Using I/O Size 2 Kbytes for index leaf pages.
| | | | | | | |With LRU Buffer Replacement Strategy for index leaf pages.
| | | | |
| | | | |END OF QUERY PLAN FOR SUBQUERY 1.
有点长,请大侠帮忙耐心看看 用sp_sysmon监控,看看系统的状态。 你的查询语句也太复杂了吧,而且从这个查询计划中已经看到了几处table scan,如果表比较大,慢也是正常的了。 在客户端,我执行同样的sql,却只需要40-50秒就可以出来数据,升级到15才这样的,sql如下:
SELECT viewbolt.in_no,
viewbolt.item_code,
viewbolt.bolt_pcno,
viewbolt.color_no,
viewbolt.lot_no,
viewbolt.bolt_no,
viewbolt.area_no,
viewbolt.scalar_qty,
viewbolt.curr_qty,
viewbolt.in_date,
viewbolt.loc_number,
viewbolt.categ_type,
viewbolt.po_number,
viewbolt.sale_no,
viewbolt.cust_no,
viewbolt.trade_no,
viewbolt.rpt_no,
viewbolt.re_value_price,
viewbolt.unit_price,
item_master.wei_ave_price,
viewbolt.ys_name ,
item_master.item_uom,
customer.sal_name,
customer.cust_name,
item_master.item_desc,
item_master.item_sub_categ_code,
item_categ.item_sub_categ_desc,
customer.trademark_name,
purchase_order.order_date,
purchase_order.remarks,
viewbolt.first_in_date,
datepart(day,viewbolt.first_in_date) as first_in_day,
datepart(month,viewbolt.first_in_date) as first_in_month,
datepart(year,viewbolt.first_in_date) as first_in_year,
ceiling(convert(dec(6,2),datediff(day,viewbolt.first_in_date,getdate()))/30) as aging_categ,
stock_list.status,
stock_list.remark,
buyer.buyer_name_ch,purchase_order.buyer
FROM viewbolt,customer,item_master,purchase_order,item_categ,stock_list,buyer
WHERE viewbolt.sale_no = customer.sal_noand
viewbolt.cust_no = customer.cust_no and
viewbolt.trade_no= customer.trade_no and
viewbolt.item_code = item_master.item_code and
item_master.item_sub_categ_code = item_categ.item_sub_categ_code and
viewbolt.po_number *= purchase_order.po_number and
viewbolt.bolt_pcno = stock_list.bolt_pcno and
purchase_order.buyer *= buyer.buyer_name and
(( viewbolt.in_no >= '%' ) AND
( viewbolt.in_no <= '%' ) or
(viewbolt.in_no like '%' and '%'='%' )) and
( viewbolt.item_code like '%' ) AND
( viewbolt.loc_number like '%' ) AND
( viewbolt.categ_type like '%' ) and
viewbolt.out_no='' and viewbolt.dispart <>'T' and
viewbolt.sale_no like '%' and
viewbolt.cust_no like '%' and
viewbolt.trade_no like '%'
UNION
SELECT viewbolt.in_no,
viewbolt.item_code,
viewbolt.bolt_pcno,
viewbolt.color_no,
viewbolt.lot_no,
viewbolt.bolt_no,
viewbolt.area_no,
viewbolt.scalar_qty,
viewbolt.curr_qty,
viewbolt.in_date,
viewbolt.loc_number,
viewbolt.categ_type,
viewbolt.po_number,
viewbolt.sale_no,
viewbolt.cust_no,
viewbolt.trade_no,
viewbolt.rpt_no,
viewbolt.re_value_price,
viewbolt.unit_price,
item_master.wei_ave_price,
viewbolt.ys_name ,
item_master.item_uom,
customer.sal_name,
customer.cust_name,
item_master.item_desc,
item_master.item_sub_categ_code,
item_categ.item_sub_categ_desc,
customer.trademark_name,
purchase_order.order_date,
purchase_order.remarks,
viewbolt.first_in_date,
datepart(day,viewbolt.first_in_date) as first_in_day,
datepart(month,viewbolt.first_in_date) as first_in_month,
datepart(year,viewbolt.first_in_date) as first_in_year,
ceiling(convert(dec(6,2),datediff(day,viewbolt.first_in_date,getdate()))/30) as aging_categ,
'0',
'',
buyer.buyer_name_ch,purchase_order.buyer
FROM viewbolt,customer,item_master,purchase_order,item_categ,buyer
WHERE viewbolt.sale_no = customer.sal_noand
viewbolt.cust_no = customer.cust_no and
viewbolt.trade_no= customer.trade_no and
viewbolt.item_code = item_master.item_code and
( item_master.item_sub_categ_code = item_categ.item_sub_categ_code ) and
viewbolt.po_number *= purchase_order.po_number and
purchase_order.buyer *= buyer.buyer_name and
(( viewbolt.in_no >= '%' ) AND
( viewbolt.in_no <= '%' ) or
(viewbolt.in_no like '%' and '%'='%' )) and
( viewbolt.item_code like '%' ) AND
( viewbolt.loc_number like '%' ) AND
( viewbolt.categ_type like '%' ) and
viewbolt.out_no='' and viewbolt.dispart <>'T' and
viewbolt.sale_no like '%' and
viewbolt.cust_no like '%' and
viewbolt.trade_no like '%' and
not exists (select 1 from stock_list
where stock_list.bolt_pcno = viewbolt.bolt_pcno
)
UNION
SELECT a.in_no,
a.item_code,
a.bolt_pcno,
a.color_no,
a.lot_no,
a.bolt_no,
a.area_no,
a.scalar_qty,
a.curr_qty,
a.in_date,
a.loc_number,
a.categ_type,
a.po_number,
a.sale_no,
a.cust_no,
a.trade_no,
a.rpt_no,
a.re_value_price,
a.unit_price,
c.wei_ave_price,
a.ys_name ,
c.item_uom,
b.sal_name,
b.cust_name,
c.item_desc,
c.item_sub_categ_code,
e.item_sub_categ_desc,
b.trademark_name,
d.order_date,
d.remarks,
a.first_in_date,
datepart(day,a.first_in_date) as first_in_day,
datepart(month,a.first_in_date) as first_in_month,
datepart(year,a.first_in_date) as first_in_year,
ceiling(convert(dec(6,2),datediff(day,a.first_in_date,getdate()))/30) as aging_categ,
f.status,
f.remark,
g.buyer_name_ch,d.buyer
FROM wiseform..viewbolt a,
wiseform..customer b,
wiseform..item_master c,
wiseform..purchase_order d,
wiseform..item_categ e,
wiseform..stock_list f,wiseform..buyer g
WHERE a.sale_no = b.sal_noand
a.cust_no = b.cust_no and
a.trade_no= b.trade_no and
a.item_code = c.item_code and
c.item_sub_categ_code = e.item_sub_categ_code and
a.bolt_pcno = f.bolt_pcno and
d.buyer *= g.buyer_name and
a.po_number *= d.po_number and
(( a.in_no >= '%' ) AND
( a.in_no <= '%' ) or
( a.in_no like '%' and '%' ='%' )) and
( a.item_code like '%' ) AND
( a.loc_number like '%' ) AND
( a.categ_type like '%' ) and
a.out_no='' and
a.dispart <>'T' and
a.sale_no like '%'and
a.cust_no like '%' and
a.trade_no like '%'
UNION
SELECT a.in_no,
a.item_code,
a.bolt_pcno,
a.color_no,
a.lot_no,
a.bolt_no,
a.area_no,
a.scalar_qty,
a.curr_qty,
a.in_date,
a.loc_number,
a.categ_type,
a.po_number,
a.sale_no,
a.cust_no,
a.trade_no,
a.rpt_no,
a.re_value_price,
a.unit_price,
c.wei_ave_price,
a.ys_name ,
c.item_uom,
b.sal_name,
b.cust_name,
c.item_desc,
c.item_sub_categ_code,
e.item_sub_categ_desc,
b.trademark_name,
d.order_date,
d.remarks,
a.first_in_date,
datepart(day,a.first_in_date) as first_in_day,
datepart(month,a.first_in_date) as first_in_month,
datepart(year,a.first_in_date) as first_in_year,
ceiling(convert(dec(6,2),datediff(day,a.first_in_date,getdate()))/30) as aging_categ,
'0',
'',
g.buyer_name_ch,d.buyer
FROM wiseform..viewbolt a,
wiseform..customer b,
wiseform..item_master c,
wiseform..purchase_order d,
wiseform..item_categ e,
wiseform..buyer g
WHERE a.sale_no = b.sal_noand
a.cust_no = b.cust_no and
a.trade_no= b.trade_no and
a.item_code = c.item_code and
c.item_sub_categ_code = e.item_sub_categ_code and
a.po_number *= d.po_number and
d.buyer *= g.buyer_name and
(( a.in_no >= '%' ) AND
( a.in_no <= '%' ) or
( a.in_no like '%' and '%' ='%' )) and
( a.item_code like '%' ) AND
( a.loc_number like '%' ) AND
( a.categ_type like '%' ) and
a.out_no='' and
a.dispart <>'T' and
a.sale_no like '%'and
a.cust_no like '%' and
a.trade_no like '%' and
not exists (select 1 from wiseform..stock_list f
where f.bolt_pcno = a.bolt_pcno
)
大侠帮忙看看
页:
[1]