🕒 perf(初始化): 为表结构、种子数据和视图初始化添加总耗时统计

This commit is contained in:
喵你个旺呀 2025-05-22 23:59:11 +08:00
parent 9336707c46
commit c49796586b

View File

@ -380,6 +380,7 @@ public static class SqlSugarSetup
// 初始化表结构
if (config.TableSettings.EnableInitTable || isFirstRun)
{
var totalWatch = Stopwatch.StartNew(); // 开始总计时
Log.Information($"初始化表结构 {config.DbType} - {config.ConfigId}");
var entityTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass && u.IsDefined(typeof(SugarTable), false))
.Where(u => !u.GetCustomAttributes<IgnoreTableAttribute>().Any())
@ -405,6 +406,10 @@ public static class SqlSugarSetup
Console.WriteLine($"初始化表 {entityType,-64} ({config.ConfigId} - {Interlocked.Increment(ref taskIndex):D003}/{size:D003}) 耗时:{stopWatch.ElapsedMilliseconds} ms");
}));
Task.WaitAll(taskList.ToArray());
totalWatch.Stop(); // 停止总计时
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"初始化表结构 {config.DbType} - {config.ConfigId} 总耗时:{totalWatch.ElapsedMilliseconds} ms");
}
// 初始化视图
@ -512,6 +517,7 @@ public static class SqlSugarSetup
/// <param name="enableIncreSeed"></param>
private static void InitSeedData(SqlSugarScopeProvider dbProvider, bool enableIncreSeed)
{
var totalWatch = Stopwatch.StartNew(); // 开始总计时
Log.Information($"初始化种子数据 {dbProvider.CurrentConnectionConfig.DbType} - {dbProvider.CurrentConnectionConfig.ConfigId}");
var seedDataTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass && u.GetInterfaces().Any(i => i.HasImplementedRawGeneric(typeof(ISqlSugarEntitySeedData<>))))
.Where(u => !u.IsDefined(typeof(TenantSeedAttribute), false))
@ -533,6 +539,10 @@ public static class SqlSugarSetup
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"初始化种子数据 {seedType.FullName,-58} ({dbProvider.CurrentConnectionConfig.ConfigId} - {Interlocked.Increment(ref taskIndex):D003}/{size:D003},数据量:{tuple.Value.Item1:D003},新增 {tuple.Value.Item2:D003} 条记录,更新 {tuple.Value.Item3:D003} 条记录,耗时:{stopWatch.ElapsedMilliseconds:N0} ms)");
}
totalWatch.Stop(); // 停止总计时
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"初始化种子数据 {dbProvider.CurrentConnectionConfig.DbType} - {dbProvider.CurrentConnectionConfig.ConfigId} 总耗时:{totalWatch.ElapsedMilliseconds:N0} ms");
}
/// <summary>
@ -541,6 +551,7 @@ public static class SqlSugarSetup
/// <param name="dbProvider"></param>
private static void InitView(SqlSugarScopeProvider dbProvider)
{
var totalWatch = Stopwatch.StartNew(); // 开始总计时
Log.Information($"初始化视图 {dbProvider.CurrentConnectionConfig.DbType} - {dbProvider.CurrentConnectionConfig.ConfigId}");
var viewTypeList = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass && u.GetInterfaces().Any(i => i.HasImplementedRawGeneric(typeof(ISqlSugarView)))).ToList();
@ -570,6 +581,10 @@ public static class SqlSugarSetup
Console.WriteLine($"初始化视图 {viewType.FullName,-58} ({dbProvider.CurrentConnectionConfig.ConfigId} - {Interlocked.Increment(ref taskIndex):D003}/{size:D003},耗时:{stopWatch.ElapsedMilliseconds:N0} ms)");
}));
Task.WaitAll(taskList.ToArray());
totalWatch.Stop(); // 停止总计时
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"初始化视图 {dbProvider.CurrentConnectionConfig.DbType} - {dbProvider.CurrentConnectionConfig.ConfigId} 总耗时:{totalWatch.ElapsedMilliseconds:N0} ms");
}
/// <summary>