C/S数据库中SQL语句是怎样执行的?

wander 2000-03-13 11:32:00
在bcb中说C/S中server中的存储过程可以改善性能 1是可以在性能好的服务器上执行SQL
2 是减少网络传输
减少网络传输 是不是说:一般的SQL语句比它网络传输多 比如有1000条数据 select出10条记录 是不是一般的SELECT要把1000条都传到客户端 在由客户端过滤?


...全文
184 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Un1 2000-03-15
  • 打赏
  • 举报
回复
存储过程等效于存于Server中的本地程序,速度当然较快!
wander 2000-03-15
  • 打赏
  • 举报
回复
如果要建立临时表 就要把数据暂存在临时表中,在PB中数据管道好象不可以动态修改 ,用一般的查询就的查一次写一次,速度可能太慢,是不是得用存储过程(动态建立)?
929 2000-03-14
  • 打赏
  • 举报
回复
查询中表的连接数量不是主要影响查询性能的方面。这主要看在进行查询时,所提供的查询条件。一般来说,所给的条件越具体,得到的结果就越精确,数量越少。再比如在查询中能够提供有效的查询条件,例如有索引的列,也可以改进性能。在一个查询的结果中再进行二次查询,要看情况而定。有的可以通过修改查询条件而合二为一。如果是在第一次的结果上再做一些计算,并且这些结果可能是通过多表连接得来的。那么可以考虑用临时表把第一次结果暂存,然后在临时表上进行二次计算查询。
none 2000-03-14
  • 打赏
  • 举报
回复
(接上文)因为减少客户端请求(比如多个客户的重复请求)在网络上的流量和不必重新编译而改善性能的。
none 2000-03-14
  • 打赏
  • 举报
回复
一般提交查询时,由客户端将请求发给服务器,服务器处理后将结果集(10条,不是1000条)返给客户端。一般的开发工具可以在客户端对返回的结果集再处理后呈现给用户(有时有必要这样做)。
根据我看的资料,存储过程一般是
wander 2000-03-14
  • 打赏
  • 举报
回复
cmu98ly说在服务器上执行存储过程就是将符全条件的结果集在服务器上就检出来,只将这结果集传给用户,所以减少了网络传输,是不是说一般的SQL就不是只把结果集从网络传输
而是把全部数据返回.
另外问929在数据库中多表连接查寻(大数据量) 是不是比一个一个查快的多?
我现有一个查询在查询结果中要二次查询 并且结果集可能比较大 我该怎么做?
cmu98ly 2000-03-13
  • 打赏
  • 举报
回复
在服务器上执行存储过程就是将符全条件的结果集在服务器上就检出来,只将这结果集传给用户,所以减少了网络传输。而且存储过程中的触发器,将减少并发控制,死锁等现象。比如同一产品的库存量在不同部门的更改。
服务器上运行当然比客户机运行速度快很多。
929 2000-03-13
  • 打赏
  • 举报
回复
一般说SQL语句网络传输多,是指需要将整个SQL语句由网上传过去。而用存储过程则只须用EXEC 。。来进行传送。记录集返回的多少全由所写的查询语句来决定。查询不论是在存储过程中还是直接的查询SQL语句,都应该返回相同的结果集。另外,写成存储过程可以让SERVER对它进行优化并保存优化方案。这样,每次SERVER处理查询时就不必再根据查询的不同来构造查询方案了。而SQL语句将导致SERVER每次都要进行分析如何构造查询方案。相比之下,就显得慢了。但是存储过程占用SERVER上的内存等资源,所以也不是都用存储过程就好。这要根据实际和SERVER的性能来决定。

542

社区成员

发帖
与我相关
我的任务
社区描述
客服专区
其他 技术论坛(原bbs)
社区管理员
  • 客服专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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