CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  高级技术

长达20k的sql语句

楼主blackhawk_yps(原来是这样)2005-09-07 11:31:43 在 Oracle / 高级技术 提问

oracle中对于sql语句没有长度限制。  
  但是oracle对于20k的sql语句在sql语句解析上是否存在问题,在配置上需要如何调整?  
  是否还有其他的问题?  
   
  大概作了一下测试,好像对oracle服务器的资源消耗影响不大。  
   
  请有经验的DX帮我提供经验数据或指导性意见。  
  不胜感激。  
   
  附:20k长的sql语句可能不多见,我现在的这个项目中却碰到了,希望这不是一个问题,不然就要寻求其他解决途径了。 问题点数:100、回复次数:22Top

1 楼eidolon_warrior(精灵_战士)回复于 2005-09-07 13:14:27 得分 0

能把sql贴过来   鉴赏一下吗   呵呵Top

2 楼blackhawk_yps(原来是这样)回复于 2005-09-07 13:36:46 得分 0

SQL语句本身很简单,就是结果集的字段多、检索条件多。Top

3 楼waterfirer(水清)回复于 2005-09-07 14:20:45 得分 20

好像没什么限制,不过同样条件下一定是是越长越慢。  
  我的一个170k的语句检索结果是  
  360   rows   selected   in   4.36   seconds    
  Top

4 楼qiaozhiwei(乔)回复于 2005-09-07 16:32:56 得分 5

应该没有限制的,但还是贴出来看看,看能不能有更好的方法Top

5 楼blackhawk_yps(原来是这样)回复于 2005-09-07 17:49:18 得分 0

我的sql语句就是一个10多张表的简单连接查询,类似如下:  
  select   table1.field1,table1.field2,...table1.field100,...,table15.field1,table15.field2,...table15.field100   from   table1,table2,...table15   where   table1.id   =   table2.id   and   table1.id   =   table3.id   and   ...   and   table1.id   =   table15.id。  
   
  看了Waterfirer的检索结果好象问题不大。  
   
  不知道各位提到的限制是指哪些方面的限制,我主要担心的是oracle服务器的资源消耗以及并发访问时服务器负荷问题。  
  还望各位能够详细描述,或者推荐一些oracle官方资料,多谢了。Top

6 楼ATGC(花开蝶舞,木秀鸟栖)回复于 2005-09-11 14:31:48 得分 0

170k的SQL语句,这么长啊  
  170000  
  十几万个字节呢。。Top

7 楼yearlist(泥巴)回复于 2005-09-12 15:40:16 得分 0

想把自己写的20几K的SQL贴上来“显摆一下”,没想。。。。。  
   
  回复内容太长!!请分开回复!!Top

8 楼waterfirer(水清)回复于 2005-09-12 15:56:23 得分 20

呵呵,我也遇到过这种情况。分开的话最多连续三个贴,也还是贴不完。:)  
   
  我的语句就是表多,字段多,简单条件的查询,然后一堆的union。  
  其实能给他缩小很多,无非是把条件并一下。  
  但以后可能会修改,像增加或减少一个条件,那样就要重新构思,整个sql都要改,所以就一个条件一段sql,加上注释,要就加上,不要就注释了,也就方便了。  
   
  to   楼主:我主要担心的是oracle服务器的资源消耗以及并发访问时服务器负荷问题  
  这个我没有统计过,不太清楚,我觉得只要检索时间够快应该不会出问题的。  
  根据客户在这方面的要求做下测试吧,只要达到要求就行。Top

9 楼hevin(没有什么是不可能的)回复于 2005-09-12 22:09:18 得分 0

还是170K的比较牛Top

10 楼sanoul(垃圾)回复于 2005-09-13 09:17:28 得分 20

大家都厉害的,不过Oracle查询的消耗量,主要是在遍历数据,而不是解析Sql语义,如果20张表数据量很小,即使全部关联写出100K的Sql,应该速度也是可以的,如果3张表,超过GB级别的数据遍历,那就速度会存在明显的区别,除非你的CPU和RAID超强的快Top

11 楼hyee(小狗旺财)回复于 2005-09-14 10:24:23 得分 0

oracle可以执行32k的sqlTop

12 楼blackhawk_yps(原来是这样)回复于 2005-09-14 15:06:52 得分 0

看了大家的回复,好像没有碰到什么问题。  
  这个问题再挂两天结贴,看看是否还有宝贵经验可以参考。Top

13 楼ffanpeng(樊澎)回复于 2005-09-14 15:11:49 得分 5

用视图可以吗Top

14 楼licsth(北京三毛)回复于 2005-09-23 16:50:05 得分 0

oracle中对于sql语句没有长度限制。  
  ------------->  
  我可以很负责人的说,在PL/SQL中肯定有限制,我曾亲身体验过运行死掉的状态。Top

15 楼ynwpl(Brave&Heart)回复于 2005-10-05 12:44:47 得分 0

呵呵,楼上的,运行死掉也不能说明就有长度限制啊?  
   
  如果Sql语句太长,主要考虑一下运行效率怎样了?关联十多个表并不是一个太好的主意,关联表太多可以用子查询替换掉一些,这样性能会高一些。Top

16 楼kidman_ray(Kidman Ray)回复于 2005-10-05 13:52:55 得分 0

我在sqlplus上执行sql语句,最大长度为2499Top

17 楼ckc(火)回复于 2005-10-06 11:36:58 得分 15

如果担心解析影响速度的话,你应该把它编译成存储过程或者是搞成视图  
  不过你的这个sql并不是逻辑复杂,也许问题不大  
  刚学数据库的时候听人说见识过一个sql,服务器需要解析十分钟,这样的sql编译成存储过程就可以节约绝大部分解析时间Top

18 楼zxbyhcsdn(沙子)回复于 2005-10-12 21:38:44 得分 0

天!!不晓得这么长的Sql要写好久!!Top

19 楼chanet(牧师)回复于 2005-10-12 22:06:39 得分 5

可以的话,上传看看~   呵呵~~  
   
  写了几年的sql,看到最长的是几百字节的sql,一接手,第一时间把它分开几段~   呵呵...Top

20 楼yxsalj(想和你去吹吹风)回复于 2005-10-14 10:10:26 得分 5

没必要吧,首先这种写法就是个坏习惯,其次多表连接,长语句的解析肯定会对性能有影响Top

21 楼humanity(城市边缘的狼)回复于 2005-10-21 09:04:03 得分 5

10个表连接?   太夸张了吧。  
   
  那搜索   C1   x   C2   x   C3   x   ...   x   C9   x   C10   ,    
  对这么多个记录进行条件匹配?  
   
  如果每个表有     100   条记录。  
  那么不是要找   100   ^   10   条?Top

22 楼blackhawk_yps(原来是这样)回复于 2005-10-22 14:45:02 得分 0

忙了一阵,都忘了这个贴还没有结。我的sql语句目前还有验证结果。  
  结贴先。Top

相关问题

  • 求SQL语句
  • sql语句。
  • sql语句?
  • sql 语句?
  • 求SQL语句
  • ***求SQL语句***
  • sql语句??
  • sql语句
  • sql语句
  • SQL语句

关键词

  • 语句
  • sql
  • 服务器
  • 检索
  • 数据
  • oracle
  • 经验
  • x c
  • 表
  • 限制

得分解答快速导航

  • 帖主:blackhawk_yps
  • waterfirer
  • qiaozhiwei
  • waterfirer
  • sanoul
  • ffanpeng
  • ckc
  • chanet
  • yxsalj
  • humanity

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo