表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,几乎就死掉了,没反应
对||很奇怪

解决方案 »

  1.   

    应该是字段有关系,试试转一下类型来运行!select id,ilac || '-' || ici from tbl where rownum < 10000 改为select id,to_char(ilac) || '-' ||to_char(ici) from tbl where rownum < 10000 
      

  2.   

    想过这个select id,to_char(ilac) || '-' ||to_char(ici) from tbl where rownum < 10000 就不明白怎么出现这么大的差别用select id,ilac || '-' || ici from tbl where rownum < 10000 在公司里的数据库,2秒钟还是可以出结果了
    到现场就执行不了.两个数据库结构是一样的,只是数据不同