Optimize ORACLE

This commit is contained in:
sunkaixuan 2024-03-15 13:09:38 +08:00
parent 102b4fb7ac
commit d7a303d3e8
2 changed files with 13 additions and 2 deletions

View File

@ -138,7 +138,18 @@ namespace SqlSugar
}
primaryKeyValues.Add(value);
}
if (primaryKeyValues.Count < 10000)
if (this.Context.CurrentConnectionConfig.DbType==DbType.Oracle &&primaryKeyValues.Count >= 1000)
{
List<string> inItems = new List<string>();
this.Context.Utilities.PageEach(primaryKeyValues, 999, pageItems =>
{
var inValueString = pageItems.ToArray().ToJoinSqlInVals();
var whereItem= string.Format(DeleteBuilder.WhereInTemplate, SqlBuilder.GetTranslationColumnName(primaryFields.Single()), inValueString);
inItems.Add(whereItem);
});
Where($"({string.Join(" OR ", inItems)})");
}
else if (primaryKeyValues.Count < 10000)
{
var inValueString = primaryKeyValues.ToArray().ToJoinSqlInVals();
Where(string.Format(DeleteBuilder.WhereInTemplate, SqlBuilder.GetTranslationColumnName(primaryFields.Single()), inValueString));

View File

@ -2,7 +2,7 @@
<package >
<metadata>
<id>SqlSugarCore</id>
<version>5.1.4.147-preview03</version>
<version>5.1.4.147-preview04</version>
<authors>sunkaixuan</authors>
<owners>果糖大数据科技</owners>
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>