Performance optimization

This commit is contained in:
sunkaixuan 2023-12-12 20:34:24 +08:00
parent 2f5b819235
commit 279aeb5a5b

View File

@ -113,7 +113,10 @@ namespace SqlSugar
{ {
identityList = new string[] { }; identityList = new string[] { };
} }
this.Context.Utilities.PageEach(objects, 100, pagelist => var pageSize = 100;
var count = inserable.EntityInfo.Columns.Count();
pageSize = GetPageSize(pageSize, count);
this.Context.Utilities.PageEach(objects, pageSize, pagelist =>
{ {
StringBuilder batchInsetrSql; StringBuilder batchInsetrSql;
@ -125,6 +128,7 @@ namespace SqlSugar
return result; return result;
} }
public async Task<int> ValuesExecuteCommandAsync() public async Task<int> ValuesExecuteCommandAsync()
{ {
int result = 0; int result = 0;
@ -150,6 +154,24 @@ namespace SqlSugar
return result; return result;
} }
#region Values Helper #region Values Helper
private static int GetPageSize(int pageSize, int count)
{
if (pageSize * count > 2100)
{
pageSize = 50;
}
if (pageSize * count > 2100)
{
pageSize = 20;
}
if (pageSize * count > 2100)
{
pageSize = 10;
}
return pageSize;
}
private void GetInsertValues(string[] identitys, List<string> columns, string tableWithString, Action removeCacheFunc, List<T> items, out StringBuilder batchInsetrSql, List<SugarParameter> allParamter) private void GetInsertValues(string[] identitys, List<string> columns, string tableWithString, Action removeCacheFunc, List<T> items, out StringBuilder batchInsetrSql, List<SugarParameter> allParamter)
{ {
var itemable = this.Context.Insertable(items); var itemable = this.Context.Insertable(items);