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); 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(); var inValueString = primaryKeyValues.ToArray().ToJoinSqlInVals();
Where(string.Format(DeleteBuilder.WhereInTemplate, SqlBuilder.GetTranslationColumnName(primaryFields.Single()), inValueString)); Where(string.Format(DeleteBuilder.WhereInTemplate, SqlBuilder.GetTranslationColumnName(primaryFields.Single()), inValueString));

View File

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