在SQL中“!=”(不等于)的比较是否基于索引的?(比较的字段是建立索引的)

诚心请教数据库优化方面的高手。... 诚心请教数据库优化方面的高手。 展开
 我来答
dap570
推荐于2017-11-27 · 超过18用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:61.4万
展开全部
...我只做过MSSQL <>是用不到索引的...下面为摘抄 <50种方法巧妙优化你的SQL Server数据库>的一段...希望你能多查查资料..

在SQL2000以前,一般不要用如下的字句: "IS NULL", "<>", "!=", "!>", "!<", "NOT", "NOT EXISTS", "NOT IN", "NOT LIKE", and "LIKE '%500'",因为他们不走索引全是表扫描。也不要在Where字句中的列名加函数,如Convert,substring等,如果必须用函数的时候,创建计算列再创建索引来替代.还可以变通写法:Where SUBSTRING(firstname,1,1) = 'm'改为Where firstname like 'm%'(索引扫描),一定要将函数和列名分开。并且索引不能建得太多和太大。NOT IN会多次扫描表,使用EXISTS、NOT EXISTS ,IN , LEFT OUTER JOIN 来替代,特别是左连接,而Exists比IN更快,最慢的是NOT操作.如果列的值含有空,以前它的索引不起作用,现在2000的优化器能够处理了。相同的是IS NULL,"NOT", "NOT EXISTS", "NOT IN"能优化她,而"<>"等还是不能优化,用不到索引。
梁芸芸赵纵
2019-04-12 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.2万
采纳率:33%
帮助的人:999万
展开全部
在sql
server中,为了查询性能的优化,有时我们就需要对数据表通过建立索引的方式,目的主要是根据查询要求,迅速缩小查询范围
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式