求屏闭Informix表中触发器语法或相应优化数据库方案

adeva 2004-11-16 09:41:07
描述:有一些表由于数据非常多(最多有三十多万条记录),对查询影响非常大。现有一方案,建立一备份数据库,将历史数据移入备份数据库中。
问题:但当中有一些表含触发器,如果在数据移入备份数据中后,再将原数据库中的数据删除的话,将触发其删除触发器,造成数据不正确。
本人解决方案:因而我想在执行删除历史数据之前将当前表的触发器屏掉,执行结束后将触发器再打开,不知有没有相关语法。(当然实在没办法情况下可采用,最笨的方案是:在删除历史数据前先将触发器删除,数据删除后再重新生成)

不知各位有没有解决方案??或者有其它更好的方案可优化数据库?(在不进行数据备份的提高速度)
...全文
179 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
huihua2002 2004-12-10
  • 打赏
  • 举报
回复
有一个好办法就是,找到保存触发器的那张表(系统表),将其对应的触发器名称改掉!执行完毕后再将其名称改回来就行了!
cloudflashes 2004-12-10
  • 打赏
  • 举报
回复
在你做操作之前,可以直接关闭trigger:SET TRIGGERS teu_d51ht disabled; 在操作完毕后,再用enable 打开trigger就可以了。
mgan 2004-11-18
  • 打赏
  • 举报
回复
建立适当的索引
对你的速度会有很大的提高的

我们这边 60多万的记录 都有呢
不过也跟服务器的性能有关了
potee 2004-11-17
  • 打赏
  • 举报
回复
性能问题有本书 IBM Informix Dynamic Server Performance Guide

sql的问题也可以参考相关的书

informix的网站上有下

1,194

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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