在查询中用no in慢的问题?

tys101582 2013-05-18 09:53:25
SELECT mobile FROM TABLE2 where mobile not in (select substring(tel,3,11) from get_table where  time>=dateadd(dd,-30,getdate()))

这样查询很慢,如何提升一下效率呢?是SQL2000 
...全文
162 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tys101582 2013-05-18
  • 打赏
  • 举报
回复
解决了
tys101582 2013-05-18
  • 打赏
  • 举报
回复
不是这个问题吧,好像是NOT不走索引的事
  • 打赏
  • 举报
回复
对 substring(tel,3,11) 建计算列,然后再对那个计算列建索引。
tys101582 2013-05-18
  • 打赏
  • 举报
回复
time,tel,mobile都做索引了
  • 打赏
  • 举报
回复
建索引不等于提升效率,建合适的索引才能提升效率,你的索引怎么建的?
tys101582 2013-05-18
  • 打赏
  • 举报
回复
我都做索引了,我用IN就很快,加个NOT就很慢
tys101582 2013-05-18
  • 打赏
  • 举报
回复
就是一个查询,不在过程中,
jack15850798154 2013-05-18
  • 打赏
  • 举报
回复
数据量如果比较大,可以把select substring(tel,3,11) from get_table where time>=dateadd(dd,-30,getdate())
放在一个临时表中处理,然后通过执行计划看看效率
jack15850798154 2013-05-18
  • 打赏
  • 举报
回复
用查询分析器看看问题出在什么地方?请问你这个语句是写的SQL语句还是存储过程!

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧