标签: sql-like

linq给实体生成了sql

我在ado.net实体框架中的实体中遇到了一些问题.基本上我正在做的是:

var results = (from c in companies
    where c.Name.StartsWith(letter)
    select c);
Run Code Online (Sandbox Code Playgroud)

并将其转换为SQL,如:

WHERE (CAST(CHARINDEX(@p, [Extent1].[Name]) AS int)) = 1
Run Code Online (Sandbox Code Playgroud)

这很好,但我的表有数百万的记录,所以这运行非常慢.我需要它生成的是:

WHERE Name LIKE @p + '%'
Run Code Online (Sandbox Code Playgroud)

我搜索高低,除了使用存储过程或使用实体sql之外无法找到任何解决方案...

有没有办法通过linq做到这一点?可能通过某种方式将linq扩展到实体linq提供程序,或以某种方式拦截命令树或生成的查询?

c# sql linq linq-to-entities sql-like

6
推荐指数
1
解决办法
3084
查看次数

喜欢在SQL中解决(性能问题)

我一直在阅读,发现使用LIKE导致查询大幅减速.

一位同事建议我们使用

Select Name
From mytable
a.Name IN (SELECT Name 
           FROM mytable
           WHERE Name LIKE '%' + ISNULL(@Name, N'') + '%' 
           GROUP BY Name)
Run Code Online (Sandbox Code Playgroud)

替代

Select Name
From mytable
a.Name LIKE '%' + ISNULL(@Name, N'') + '%'
Run Code Online (Sandbox Code Playgroud)

现在我不是SQL专家,我不太了解这些陈述的内部运作.这是一个更好的选择,值得为每个类似的声明键入一些额外的字符吗?是否有更好的(更容易打字)替代方案?

sql t-sql sql-server sql-like

6
推荐指数
2
解决办法
7635
查看次数

MySQL选择LIKE和WHERE

我有一张传记数据表,我需要做一个查询,选择在他们的生物中有"死"字并且死亡日期为NULL的人.这不起作用:

SELECT * FROM people
WHERE bio LIKE '%died%'
AND death_date IS NULL
Run Code Online (Sandbox Code Playgroud)

选择death_date为null的每个人,但也选择在他们的bio中没有"death"字样的人.我可以在一个查询中执行此操作吗?

mysql null select where sql-like

6
推荐指数
2
解决办法
2万
查看次数

在MySQL数据库中搜索时匹配'%'符号

我想'wildcard %'在MySQL中匹配这个.
我尝试使用逃生\%,它无法正常工作.

mysql wildcard sql-like

6
推荐指数
1
解决办法
966
查看次数

如何使用PHP在MONGODB中进行"LIKE"查询工作?

我有一个街道名称列表,我想选择以"Al"开头的所有内容.在我的mysql中,我会做类似的事情

SELECT * FROM streets WHERE "street_name" LIKE "Al%"
Run Code Online (Sandbox Code Playgroud)

使用php的mongodb怎么样?

php sql mongodb sql-like

6
推荐指数
1
解决办法
2万
查看次数

在*MS-Access但不是VBA中使用Like*Works

我有一个简单的查询,但遇到了LIKE在VBA中使用的问题.我在VBA中的SQL字符串是:

stsql1 = "Select Top 25 data.* from data where data.Description Like ('*') "
Run Code Online (Sandbox Code Playgroud)

当我在我的VBA代码中运行此sql字符串时,我没有返回任何记录,但是如果我将相同的字符串复制/粘贴到MS Access中的SQL视图中的查询中,则查询将返回我期望的值.在VBA中使用"Like"语法有诀窍吗?

如果有帮助,我可以提供额外的代码和数据库的小版本.

sql ms-access vba sql-like

6
推荐指数
2
解决办法
5万
查看次数

哪个更好?mysql的LIKE还是REGEXP?

我在一个语句中使用了一个LIKE而不是LIKE的named_scope.与使用REGEXP相比,这在执行方面更快吗?

named_scope :order_search, :order => "name LIKE '%urgent%' AND name NOT LIKE '%not urgent%' DESC, created_at DESC"
Run Code Online (Sandbox Code Playgroud)

mysql ruby-on-rails sql-like

6
推荐指数
2
解决办法
2636
查看次数

MySQL :(全文/索引)搜索"一字列"

我有一个表(MySQL 5.1,InnoDB),大约有3M行,其中98%只包含一个单词.如果我正在使用查询LIKE %searchterm%,那就太慢了.

由于SELECT只有这个表的查询,我正在考虑将其转换为MyISAM(因为InnoDB还没有,或者只支持5.6+版本,支持FULLTEXT).

但是,我想知道这是否会真正加快查询速度,因为据我所知,FULLTEXT索引是一个包含分词的表("Hello sunny day" - >"hello","sunny","一天"),所以如果每列只有一个单词,那会有意义吗?

如果我在这个文本列上放一个普通的索引,它会加快查询吗?

预先感谢您的帮助!

mysql full-text-search wildcard sql-like

6
推荐指数
1
解决办法
944
查看次数

如何在SQL中轻松使用多个LIKE条件?

我想在查询中使用很多LIKE条件.我找不到实用的解决方案.我试过CONTAINS,但它不起作用.

而不是使用这个

where EIO.DigiAddress like '%abc@abc.com%'
or EIO.DigiAddress like '%def@def.com%'
or EIO.DigiAddress like '%ghi@ghi.com%'
Run Code Online (Sandbox Code Playgroud)

我想用这样的东西:

CONTAINS(EIO.DigiAddress,'%abc@abc.com%', '%def@def.com%', '%ghi@ghi.com%')
Run Code Online (Sandbox Code Playgroud)

要么

EIO.DigiAddress IN ('%abc@abc.com%', '%def@def.com%', '%ghi@ghi.com%')
Run Code Online (Sandbox Code Playgroud)

sql sql-like

6
推荐指数
2
解决办法
5938
查看次数

Realm.io - 如何使用通配符%LIKE%进行查询

我正在尝试:

mRealm
         .where(Contact.class)
         .equalTo(Contact.NAME, text, Case.INSENSITIVE)
         .findAllSortedAsync(Contact.NAME, Sort.ASCENDING);
Run Code Online (Sandbox Code Playgroud)

结果:未达到预期结果.

mRealm
         .where(Contact.class)
         .contains(Contact.NAME, text, Case.INSENSITIVE)
         .findAllSortedAsync(Contact.NAME, Sort.ASCENDING);
Run Code Online (Sandbox Code Playgroud)

结果:未达到预期结果.

预期结果:

mRealm
         .where(Contact.class)
         .like(Contact.NAME, text, Case.INSENSITIVE)
         .findAllSortedAsync(Contact.NAME, Sort.ASCENDING);
Run Code Online (Sandbox Code Playgroud)

android wildcard realm sql-like

6
推荐指数
1
解决办法
4873
查看次数