Delphi中操作Sybase数据库问题,高手请进!!!!救急!!!!!!!!

sharklee 2002-03-06 08:12:11
我在DELPHI中使用Tquery组件连接到一个Sybase数据库。在使用post或ApplyUpdate方法更新数据库时速度很慢,且造成Sybase中相应表死锁。而使用ExecSql方法直接执行“Update test set t1='a' where t2='b'”时,速度飞快,请问高手是何原因???
...全文
4 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
seekuface 2002-03-08
补充一点: 方法是在select语句中的表名后面加[锁的类型]
回复
seekuface 2002-03-06
规则:尽量少将数据传到本地处理(Delphi默认是传到本地处理),尽量使用服务器处理。
尽量减少占用服务器时间(因为这样易产生Death lock)。
update时如有其它操作正在执行也易产生Death lock,因为update 是独占的(似乎有方法可设定,但这要自已去查书)
回复
forgot2000 2002-03-06
建议你的RequestLive设为False,CacheUpdates设为True,用UpdateQuery组件进行缓存更新,肯定比一条一条地执行SQL语句快。
回复
lastlove 2002-03-06
一般post一次只提交一条记录,频繁进行这样操作会占用很多网络资源,而且效率不高,
一般建议采用cacheupdate模式!

但是如果是批量更新数据的话强烈建议用 update .. set ..
它在数据库后台执行,效率当然高多了!
回复
相关推荐
发帖
非技术区
创建于2007-08-02

800

社区成员

Delphi 非技术区
申请成为版主
帖子事件
创建了帖子
2002-03-06 08:12
社区公告
暂无公告