请求Oracle 查询时 字段连接符|| 问题

dafeng168 2008-10-21 03:38:04
表tbl
id number
ilac int
ici int



数据量为50万,表没有主键,索引
select id,ilac,ici from tbl where rownum < 10000
select id,ilac || '-' || ici from tbl where rownum < 10000

执行第一条sql,需要2秒钟
执行第二条sql,几乎就死掉了,没反应
对||很奇怪

...全文
300 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dafeng168 2008-10-21
  • 打赏
  • 举报
回复
想过这个select id,to_char(ilac) || '-' ||to_char(ici) from tbl where rownum < 10000

就不明白怎么出现这么大的差别

用select id,ilac || '-' || ici from tbl where rownum < 10000 在公司里的数据库,2秒钟还是可以出结果了
到现场就执行不了.两个数据库结构是一样的,只是数据不同

cosio 2008-10-21
  • 打赏
  • 举报
回复
应该是字段有关系,试试转一下类型来运行!



select id,ilac || '-' || ici from tbl where rownum < 10000

改为

select id,to_char(ilac) || '-' ||to_char(ici) from tbl where rownum < 10000



[Quote=引用楼主 dafeng168 的帖子:]
表tbl
id number
ilac int
ici int


数据量为50万,表没有主键,索引
select id,ilac,ici from tbl where rownum < 10000
select id,ilac || '-' || ici from tbl where rownum < 10000

执行第一条sql,需要2秒钟
执行第二条sql,几乎就死掉了,没反应
对||很奇怪
[/Quote]
范佩西_11 2008-10-21
  • 打赏
  • 举报
回复
建个函数索引
mantisXF 2008-10-21
  • 打赏
  • 举报
回复
执行计划?[Quote=引用楼主 dafeng168 的帖子:]
表tbl
id number
ilac int
ici int


数据量为50万,表没有主键,索引
select id,ilac,ici from tbl where rownum < 10000
select id,ilac || '-' || ici from tbl where rownum < 10000

执行第一条sql,需要2秒钟
执行第二条sql,几乎就死掉了,没反应
对||很奇怪
[/Quote]

17,090

社区成员

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

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