- 修复 Oracle Any 子查询可能影响索引变慢的问题;

This commit is contained in:
2881099 2021-10-08 17:38:44 +08:00
parent 8c0e2177e6
commit 65fe03a2ff
2 changed files with 21 additions and 0 deletions

View File

@ -517,5 +517,14 @@
<param name="that"></param> <param name="that"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
<summary>
批量注入 Repository可以参考代码自行调整
</summary>
<param name="services"></param>
<param name="globalDataFilter"></param>
<param name="assemblies"></param>
<returns></returns>
</member>
</members> </members>
</doc> </doc>

View File

@ -1004,6 +1004,18 @@ namespace FreeSql.Internal
var fsqlSelect0 = fsql as Select0Provider; var fsqlSelect0 = fsql as Select0Provider;
switch (exp3.Method.Name) { switch (exp3.Method.Name) {
case "Any": //exists case "Any": //exists
switch (_ado.DataType)
{
case DataType.Oracle:
case DataType.OdbcOracle:
case DataType.Dameng:
case DataType.OdbcDameng:
break;
default:
fsqlSelect0._limit = 1; //#462 ORACLE rownum <= 2 会影响索引变慢
break;
}
break;
case "ToOne": case "ToOne":
case "First": case "First":
fsqlSelect0._limit = 1; //#462 fsqlSelect0._limit = 1; //#462