1

SQL DW 内部テーブル間でデータをロードする際に問題に直面しており、ソースにある 50 レコードだけをロードしようとしていますが、"Insert" ステートメントに非常に長い時間がかかり、正常に実行されません [ 60分 ]

これに関するいくつかの統計 • ソース テーブル (S1 など) には 50 レコード、105 列、列ストア、DWU 100 のラウンド ロビン分散 [以下に示すこのテーブルの DDL ] • ターゲット テーブル (T1 など) は同じ 105 列で作成されています。 DWU 100 でのカラムナ ストア、ラウンド ロビン配布 • S1 作品から上位 5 * を選択 • S1 作品から * を選択 • S1 から選択 * が応答なしで長時間実行されている [60 分以上] として T1 に挿入 • T1 に挿入select top 5 * from S1 として、一度だけ動作し、その後は動作しません • S1 から select top 5 all_columns_listed として T1 に挿入し、常に動作し、1 分未満で実行します • S1 から select top 30 all_columns_listed として T1 に挿入し、常に動作し、 1 分未満で実行 • S1 から all_columns_listed のトップ 50 を選択し、25 分以上実行されているため、T1 に挿入

バックグラウンドで何が起こっているのか理解できません - select * from S1 が実行されているときに T1 に挿入するとき。

DMS で何か問題が発生していますか? それとも、105列あるからですか?

上記のすべての操作は、DWU 200 にスケールアップして試行されましたが、それでもうまくいきません。

上記のすべての操作は、まったく別のデータベースで試行されましたが、まだうまくいきません。

何が起こっているのかを確認できるものは他にありますか?これを処理する方法は?

また、以下のステートメントを実行して、アクティブに実行されている他のクエリがあるかどうかを確認しました。これにより、insert ステートメントが一時停止または待機する可能性があります..しかし、クエリのみが DB でアクティブに実行されていることがわかりました.. select * from " sys"."dm_pdw_exec_requests" where status='Running' order by submit_time desc

S1 DDL は CREATE TABLE S1 (
col1 [uniqueidentifier] NOT NULL,
col2 nvarchar NULL,
col3 [uniqueidentifier] NULL,
col4 nvarchar NULL,
col5 nvarchar NULL,
col6 [decimal](26, 6) NULL,
col7 [decimal]( 26, 6) NULL,
col8 [10 進数](26, 6) NULL,
col9 [10 進数](26, 6) NULL,
col10 [10 進数](27, 6) NULL,
col11 [10 進数](27, 6) NULL,
col12 [10 進数](26, 6) NULL、
col13 [10 進数](25, 6) NULL、
col14 [10 進数](25, 6) NULL、
col15 datetimeoffset NULL、
col16 nvarchar NULL、
col17 datetimeoffset NULL、
col18 [smallint] NULL、
col19 [10 進数](25, 6) NULL、
col20 [10 進数](25, 6) NULL、
col21 [10 進数](26, 6) NULL、
col22 [10 進数] ](26, 6) NULL,
col23 datetimeoffset NULL,
col24 [10 進数](25, 6) NULL,
col25 [10 進数](25, 6) NULL,
col26 [int] NULL,
col27 [10 進数](25, 6) NULL ,
col28 datetimeoffset NULL,
col29 [10 進数](25, 6) NULL,
col30 [10 進数](25, 6) NULL,
col31 datetimeoffset NULL,
col32 datetimeoffset NULL、
col33 datetimeoffset NULL、
col34 datetimeoffset NULL、
col35 datetimeoffset NULL、
col36 datetimeoffset NULL、
col37 [10 進数](25, 6) NULL、
col38 [10 進数](25, 6) NULL、
col39 datetimeoffset NULL、
col40 [int] NULL、
col41 nvarchar NULL、
col42 [smallint] NULL、
col43 [smallint] NULL、
col44 [10 進数](25, 6) NULL、
col45 [10 進数](25, 6) NULL、
col46 [10 進数](25, 6) NULL ,
col47 [10 進数](25, 6) NULL,
col48 [10 進数](25, 6) NULL、
col49 datetimeoffset NULL、
col50 [10 進数](25, 6) NULL、
col51 [10 進数](25, 6) NULL、
col52 [10 進数](25, 6) NULL、
col53 [ 10 進数](25, 6) NULL、
col54 [10 進数](25, 6) NULL、
col55 [10 進数](25, 6) NULL、
col56 datetimeoffset NULL、
col57 [10 進数](25, 6) NULL、
col58 [10 進数] (25, 6) NULL、
col59 [10 進数](25, 6) NULL、
col60 [10 進数](25, 6) NULL、
col61 [10 進数](25, 6) NULL、
col62 [10 進数](25, 6) NULL 、
col63 datetimeoffset NULL,
col64 [10 進数](25, 6) NULL,
col65 [10 進数](25, 6) NULL,
col66 [10 進数](25, 6) NULL,
col67 [10 進数](25, 6) NULL,
col68 [ decimal](25, 6) NULL、
col69 [decimal](25, 6) NULL、
col70 datetimeoffset NULL、
col71 [decimal](25, 6) NULL、
col72 nvarchar NULL、
col73 nvarchar NULL、
col74 datetimeoffset NULL、
col75 datetimeoffset NULL 、
col76 datetimeoffset NULL、
col77 datetimeoffset NULL、
col78 datetimeoffset NULL、
col79 nvarchar NULL、
col80 nvarchar NULL、
col81 nvarchar NULL、
col82 nvarchar NULL、
col83 nvarchar NULL、
col84 nvarchar NULL、
col85 nvarchar NULL、
col86 nvarchar NULL、
col87 nvarchar NULL、
col88 nvarchar NULL、
col89 [ビット] NULL、
col90 nvarchar NULL、
col91 nvarchar NULL、
col92 datetimeoffset NULL、
col93 [10 進数](25, 6) NULL、
col94 nvarchar NULL、
col95 nvarchar NULL、
col96 [10 進数](25, 6) NULL、
col97 [10 進数](25, 6) NULL、
col98 [10 進数](25, 6) NULL、
col99 [10 進数](25, 6) NULL、
col100 [10 進数](25 , 6) NULL,
col101 datetimeoffset NULL,
col102 nvarchar NULL,
col103 nvarchar NULL,
col104 nvarchar NULL,
col105 nvarchar NULL,
col106 nvarchar NULL,
col107 datetimeoffset NULL,
col108 datetimeoffset NULL,
col109 varchar NULL
)
WITH
(
DISTRIBUTION = ROUND_ROBIN
)

4

1 に答える 1