数据库不知道哪里出了问题,急~~~请教~~

ltyyan 2003-10-16 03:12:44
select distinct a.REPORT_TIME,a.FRA05,b.area_name,from
TB_JP_JA2001_DATA a,t_area b where a.FRA05 = b.area_code and (FRA05 like ('43%') and A12='1' or DWBS='10'
group by a.REPORT_TIME,a.FRA05,b.area_name

这条语句前两天还可以用,今天突然不能用了

发现 不用or或者不用group by就可以用,
再或者只从一个表里取数据也可以用,
但和在一起就不能用了

不知道哪里出了问题,请教~~
...全文
34 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lastdrop 2003-10-17
  • 打赏
  • 举报
回复
应该是你的数据发生变化了,原来满足where条件的集合很小而现在很大,再进行distinct和group by这样的操作,自然很慢了。
shuipipi 2003-10-17
  • 打赏
  • 举报
回复
泥的TEMP表空间满了,这句查询当然要慢了,因为GROUP BY是要排序的,要占用TEMP表空间,泥将TEMP表空间扩一下再试试看~
armu80830 2003-10-17
  • 打赏
  • 举报
回复
用sql expert for oracle分析一下sql语句
smallcrocodile 2003-10-17
  • 打赏
  • 举报
回复
SQL语句没有变而又不能执行,那应该是数据库结构或者什么变化了
penitent 2003-10-17
  • 打赏
  • 举报
回复
排序用的太多
可能是索引使用不正确或丢失

最好是分析执行计划
tsj68 2003-10-17
  • 打赏
  • 举报
回复
可能是a.fra05或b.area_code列的索引丢了,导致对两表的sort merge,这样会严重影响效率.
yangjuanli 2003-10-17
  • 打赏
  • 举报
回复
是不是变的东西影响了数据库,
而不是这条语句呢?
ltyyan 2003-10-17
  • 打赏
  • 举报
回复
表的结构变了会抱错的
我这个是出奇的慢,原本零点几秒可以出结果的,现在要到n分钟后都没有动静,有时候会报
temp出错,一看,20G的temp表都满了,而这条sql语句不可能造成这种结果,痛苦ing
ltyyan 2003-10-17
  • 打赏
  • 举报
回复
特别是我选的那两个表里的数据更是一个都没有变过
ltyyan 2003-10-17
  • 打赏
  • 举报
回复
可我的数据库里的数据没有变化
chanet 2003-10-16
  • 打赏
  • 举报
回复
是不是表的结构变了.
bzszp 2003-10-16
  • 打赏
  • 举报
回复
select a.REPORT_TIME,a.FRA05,b.area_name
from TB_JP_JA2001_DATA a,t_area b
where a.FRA05 = b.area_code and FRA05 like '43%' and A12='1' or DWBS='10'
group by a.REPORT_TIME,a.FRA05,b.area_name

在sql*plus里面试一下,看有没有问题
ltyyan 2003-10-16
  • 打赏
  • 举报
回复
select distinct a.REPORT_TIME,a.FRA05,b.area_name,from
TB_JP_JA2001_DATA a,t_area b where a.FRA05 = b.area_code and FRA05 like ('43%') and A12='1' or DWBS='10'
group by a.REPORT_TIME,a.FRA05,b.area_name

不好意思,我砍错了一点~~~

基本上应该不是sql语句的问题
bzszp 2003-10-16
  • 打赏
  • 举报
回复
distinct 没有什么用处



(FRA05 like ('43%') and A12='1' or DWBS='10'
这个肯定有问题,括号都不对应
like '43%'

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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