首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL Server和动态搜索的性能

SQL Server和动态搜索的性能
EN

Stack Overflow用户
提问于 2015-06-19 19:17:35
回答 3查看 491关注 0票数 16

我想知道在sql中使用动态值进行查询的最佳实践是什么,假设我有一个值(nvarchar(Max))

值:"912345678"

代码语言:javascript
复制
select * from AllData
where Number like '%912345678%' 

值:"Michael"

代码语言:javascript
复制
select * from AllData
where Name like '%Michael%' 

取值:“10号街”

代码语言:javascript
复制
select * from AllData
where Address like '%Street number 10%' 

这种方法有点慢,因为搜索一个有9位数字的数字会更快,没有这样的%

代码语言:javascript
复制
select * from AllData
where Number like '912345678' 

我使用EDMX与C#中的外部数据库建立连接,如下所示:

代码语言:javascript
复制
var Result = EDMXEntity.Entities.Where(x => 
(SqlFunctions.PatIndex("%" + Value.ToLower() +"%", x.Name.ToString().ToLower()) > 0) 
|| (SqlFunctions.PatIndex("%" + Value.ToLower() +"%", x.Number.ToString().ToLower()) > 0)
|| (SqlFunctions.PatIndex("%" + Value.ToLower() +"%", x.Address.ToString().ToLower()) > 0)).Take(50).ToList();

如何提高性能?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30936825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档