求速度快的SQL 语句!

jiang5311 2014-10-28 05:31:43
有两个个表,数据量很大(百万级别)都只有一列,A表数据比B多

要求: 因为在View中,要求一个语句实现。
直接得到A表中去掉B表相同数据的最后值,谢谢!
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiang5311 2014-10-29
  • 打赏
  • 举报
回复
试过了,对于我的这个,好像left join的快点,谢谢!结贴 (我以前用not exists ,开始速度还行,越join 表越慢)
还在加载中灬 2014-10-29
  • 打赏
  • 举报
回复
可以用minus代替 然后 ,小数需要精确到几位呢
SELECT [字段] FROM A MINUS SELECT [字段] FROM B
jiang5311 2014-10-29
  • 打赏
  • 举报
回复
引用 1 楼 ky_min 的回复:
你试下,哪个快点
SELECT [字段] FROM A EXCEPT SELECT [字段] FROM B
--
SELECT A.[字段] FROM A LEFT JOIN B ON A.[字段]=B.[字段] WHERE B.[字段] IS NULL
我的数据库是Oracle ,在TOAD中用第一个语句,好像报错;第二个语句速度还可以,不知道能不能再优化? 其实是一个VIEW,好多个大表join 在一起,最后还要去掉一些特定的数据,比如最后带小数点的,以及不带小数点但是和带小数点前面一样的数据。谢谢ky_min
xiaoxiangqing 2014-10-29
  • 打赏
  • 举报
回复
两表都建有索引,速度就快
卖水果的net 版主 2014-10-29
  • 打赏
  • 举报
回复
EXCEPT 方便。
还在加载中灬 2014-10-28
  • 打赏
  • 举报
回复
你试下,哪个快点
SELECT [字段] FROM A EXCEPT SELECT [字段] FROM B
--
SELECT A.[字段] FROM A LEFT JOIN B ON A.[字段]=B.[字段] WHERE B.[字段] IS NULL

34,591

社区成员

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

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