Oracle 大量数据查询的问题

fhqfhvso 2009-04-24 12:21:23
我有一个表 TABLE_A 现在大概有900多万行数据
orderID type
00001 A
00001 B
00001 C

00002 A
00002 B
00002 B

00003 A
00003 A
00003 A

00004 A
00004 B
00004 B
我要查询type全是A的订单号,我写的下边语句,慢的要死
SELECT orderID FROM TABLE_A
WHERE temp.status not in('B','C') GROUP BY orderID
晚上说自连的话会很快,我该怎么写,怎么优化~~~~~
...全文
164 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhqfhvso 2009-04-24
  • 打赏
  • 举报
回复
我上边的语句有错误,应该是
SELECT DISTINCT (orderID) item_id FROM TABLE_A
WHERE orderID NOT IN (SELECT orderID FROM TABLE_A
WHERE type IN('B', 'C') GROUP BY order_id)
速度很慢
pinklotus 2009-04-24
  • 打赏
  • 举报
回复
同意楼上说法!
阿三 2009-04-24
  • 打赏
  • 举报
回复
SELECT orderID FROM TABLE_A
WHERE temp.status='A'

status要建立索引
CathySun118 2009-04-24
  • 打赏
  • 举报
回复
SELECT orderID FROM TABLE_A
WHERE upper(temp.status)='A'
aiq 2009-04-24
  • 打赏
  • 举报
回复
为什么不直接=A呢

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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