From c0c17abea13582b73fcadd7a5b5b3b0052afae8b Mon Sep 17 00:00:00 2001 From: xief <1789784602@qq.com> Date: Tue, 18 Jan 2022 16:17:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AD=97=E7=AC=A6=E4=B8=B2?= =?UTF-8?q?=E6=8B=BC=E6=8E=A5=E4=B8=8E=E4=B8=8D=E5=88=86=E9=A1=B5=E5=AF=BC?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Archiver/Commands/ExportTableCommand.cs | 35 ++++++++++++++------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/src/Archiver/Commands/ExportTableCommand.cs b/src/Archiver/Commands/ExportTableCommand.cs index b5f6e4e..4b3c277 100644 --- a/src/Archiver/Commands/ExportTableCommand.cs +++ b/src/Archiver/Commands/ExportTableCommand.cs @@ -152,7 +152,14 @@ namespace Chenfeng.MES.Archiver.Commands var valString = new StringBuilder(); - using (var reader = cmd.ExecuteReader()) + var queryWatch = Stopwatch.StartNew(); + var reader = cmd.ExecuteReader(); + queryWatch.Stop(); + if (queryWatch.ElapsedMilliseconds > 10_000) + { + Print("slow sql:" + sql + ",page:" + pageIndex); + } + using (reader) { if (columnString.Length == 0) { @@ -166,32 +173,38 @@ namespace Chenfeng.MES.Archiver.Commands while (reader.Read()) { - var row = new List(); + //var row = new List(); + valString.Append('('); for (int i = 0; i < reader.FieldCount; i++) { var val = reader.GetValue(i); - + object newVal; switch (val) { case bool b: - row.Add(b ? 1 : 0); + newVal = b ? 1 : 0; break; case string s: - row.Add($"'{s}'"); + newVal = $"'{s}'"; break; case DateTime dt: - row.Add('\'' + dt.ToString("yyyy-MM-dd HH:mm:ss") + '\''); + newVal = '\'' + dt.ToString("yyyy-MM-dd HH:mm:ss") + '\''; break; case byte[] byteList: - row.Add("0x" + string.Concat(byteList.Select(i => i.ToString("X2")))); + newVal = "0x" + string.Concat(byteList.Select(i => i.ToString("X2"))); break; default: - row.Add(val); + newVal = val; break; } - + valString.Append(newVal); + if (i < reader.FieldCount-1) + { + valString.Append(','); + } } - valString.Append($"({string.Join(",", row)}),"); + valString.Append(')'); + //valString.Append($"({string.Join(",", row)}),"); } if (valString.Length == 0) break; @@ -229,7 +242,7 @@ namespace Chenfeng.MES.Archiver.Commands //streamWriter.Flush(); } } - + if (PageSize <= 0) break; // 不分页直接跳出 pageIndex++; }