发信人: rollback()
整理人: edison(1999-10-21 01:47:24), 站内信件
|
1、无论使不使用游标,一次从数据库返回大量数据都是应该尽量避免的。如果不 及时释放游标,只要有几个人同时UPDATE,那就会死得很快了。
2、结果集是否有20000万条记录,那跟设计和使用有很大关系,如果经常性的从 服务器返回大量的数据,看看能不能更改一下设计和需求避免这样。
但如果客户端使用游标就很难控制何时释放游标,因为有些客户端的操作是需要 很长的时间的,这样就很可能使事务时间过长,长时间占用后端资源,长时间锁 住某些数据,除非有客户有这样的需求,要不然对其它的用户就可能是不公平的 ,而且还可能造成死锁甚至系统崩溃。
3、“尽量利用服务器资源”,在多用户环境下也不能就一个人利用吧,也不能把 系统弄“死”吧。多层结构就是为了分担任务,方便使用而设计的,好让前端和 后台都顺畅一些,这一点我的看法和edison基本相同。
4、为什么在存储过程中“只能使用游标”使用游标呢?如果数据库设计得当,很 多看似要用游标完成的工作实际上是可以用查询语句完成的,而且这样还可以充 分利用索引等DBMS的性能优化措施,大大提高性能。当然暗地里DBMS系统也用了 游标,但一个好的DBMS系统肯定有措施去很好地处理这些东西了,这总比由用户 控制高效省事吧。
【 在 pthinker (Thinker) 的大作中提到: 】
:(1) 那只说明PB和FOXPRO一样,不管怎样,先把所有的数据一次(或几次)取回
:到客户端,这样虽然通讯次数是少了,但网络通讯量却是上千倍的提高的。10台计算机同 时retrieve,也会慢得要死!
:
:(2)在客户锻使用游标的话几乎不会存在结果集是20000万条记录的情况。
: 因为不现实,没有含义,如果是 结果集是20000万条记录或更多,因该是做成
:存储过程调用了!
:
:(3)瘦客户机和尽量利用服务器资源本来就是目前MIS开发的目标!
:
:(4) 如果是查询表结果,交互式修改数据,用DW无可非议,如果是批处理数据
: 小数据量用游标最好,大数据量的话 做成存储过程,在存储过程中使用
: 游标(只能使用游标)
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.190.124]
|
|