相同查询的以下哪个版本的性能会更好:版本1(string.Contains):var query = db.Products.Where( p = p.Description.Contains( description ) );版本2(SqlFunctions.PatIndex):var query = db.Products.Where( p ...
相同查询的以下哪个版本的性能会更好:
版本1(string.Contains):
var query = db.Products
.Where( p => p.Description.Contains( description ) );
版本2(SqlFunctions.PatIndex):
var query = db.Products
.Where( p => SqlFunctions.PatIndex("%" + description + "%",p.Description) > 0 );
解决方法:
我相信版本1在理论上运行得更快.
原因:
>两个版本最终都会转换为SQL查询.
>版本1转换为具有“like”运算符的where子句的查询
>版本2转换为具有’PatIndex’功能的where子句的查询.
>我们知道在与大型数据集中的纯’like’运算符进行比较时,SQL中的函数将需要更长的时间来返回结果.
沃梦达教程
本文标题为:c# – Linq:SqlFunctions.PatIndex vs string.Contains for string comparisson
猜你喜欢
- 详解C#对路径...的访问被拒绝解决过程 2023-03-28
- C# NullReferenceException解决案例讲解 2023-04-27
- c#实现一个超实用的证件照换底色小工具(附源码) 2022-12-02
- c#常用表格控件dataGridView的分页显示 2023-07-05
- C#编写Windows服务程序详细步骤详解(图文) 2022-11-15
- NETCORE使用MINIO的PRESIGNEDPUTOBJECTASYNC方法,实现通过浏览器直接上传图片到MINIO服务器 2023-09-28
- C# 文件上传下载(Excel导入,多线程下载)功能的实现代码 2022-11-10
- c# RSA非对称加解密及XML&PEM格式互换方案 2023-03-28
- 利用C#实现AOP常见的几种方法详解 2022-11-11
- C#基础入门之值类型和引用类型的区别详析 2023-05-05