首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对多个多列使用NOT LIKE

对多个多列使用NOT LIKE
EN

Stack Overflow用户
提问于 2017-11-16 23:04:31
回答 2查看 58关注 0票数 0

我想在多个列中搜索特定值。有什么方法可以优化这个查询吗?

代码语言:javascript
运行
复制
SELECT TOP (200) Events.EventDate, AVDCAV.CAVCH1, AVDCAV.CAVCH2, AVDCAV.CAVCH3, AVDCAV.CAVCH4, AVDCAV.CAVCH5, AVDCAV.CAVCH6, AVDCAV.CAVCH7, AVDCAV.CAVCH8, AVDCAV.CAVCH9
FROM AVDCAV
   INNER JOIN Events ON AVDCAV.IDEvent=Events.EventID
WHERE CAVCH9 NOT LIKE '0.0000000000' OR CAVCH8 NOT LIKE '0.0000000000' OR CAVCH7 NOT LIKE '0.0000000000' OR CAVCH1 NOT LIKE '0.0000000000'
ORDER BY AVDCAV.IDEvent DESC

我正在从SQL Express2008 R2获取数据。

EN

回答 2

Stack Overflow用户

发布于 2017-11-16 23:08:10

因为您没有使用任何通配符,所以不需要LIKE

代码语言:javascript
运行
复制
WHERE '0.0000000000' NOT IN  (CAVCH1, CAVCH7, CAVCH8, CAVCH9)

顺便说一句,性能是一样的,但更容易阅读。

票数 3
EN

Stack Overflow用户

发布于 2017-11-16 23:33:24

在不知道表大小、当前索引等的情况下,您可以尝试添加此索引

代码语言:javascript
运行
复制
CREATE NONCLUSTERED INDEX IX_AVDCAV ON AVDCAV ( IDEvent ) 
INCLUDE ( CAVCH1, CAVCH2, CAVCH3, CAVCH4, CAVCH5, CAVCH6, CAVCH7, CAVCH8, CAVCH9 )

查看性能是否提高

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

https://stackoverflow.com/questions/47332958

复制
相关文章

相似问题

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