社区
Oracle
帖子详情
Oracle的触发器对性能影响大不大?
zzc
2003-04-08 05:38:21
给我们开发软件的公司为了实现分布数据库的同步,在一个表的修改(包括删除、插入、修改)事件上增加了上百个触发器,请问这样做对服务器的性能影响会有多大?如果这些触发器的数量增长到数百个甚至上千个会怎么样?
...全文
2640
38
打赏
收藏
Oracle的触发器对性能影响大不大?
给我们开发软件的公司为了实现分布数据库的同步,在一个表的修改(包括删除、插入、修改)事件上增加了上百个触发器,请问这样做对服务器的性能影响会有多大?如果这些触发器的数量增长到数百个甚至上千个会怎么样?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
38 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zzc
2003-09-08
打赏
举报
回复
这套系统维护起来确实太费劲了,软件公司却说是我们ORACLE服务器参数不合理,可我总觉得这样利用触发器来简化开发工作也太过分了,而且这种工作方式恐怕再强大的服务器和优化的参数都没办法提高效率。只能叹息上错了船,……
fat,我不是在华润万方工作,服务器运行的是AIX。
fat888
2003-09-03
打赏
举报
回复
其实也没那么严重啦。
人家能开软件公司,能拿到项目,总不会是白痴吧? 肯定有人家的考虑的。
另外,楼主是不是华润万方? 我每天都去你们那里买东西的,能不能打点折?
IBM RS/6000没见过,是装aix吗?
ccat
2003-09-03
打赏
举报
回复
要是我,宁可辞职也不给他维护这种破数据库,设计这些Trigger的人可以拖出去喂狗了。
用脚趾头也能想出些更好的办法,呵呵。
zzc
2003-08-31
打赏
举报
回复
现在有25000个,服务器的速度已经很慢了,不知道今后该怎么办
kataboy
2003-08-30
打赏
举报
回复
其实也不是太过XX了,想想要是一秒钟要加一条记录。一天就要加多少记录。要是要你查询30万行的记录,大家说应该怎么办呢?
David1289
2003-08-30
打赏
举报
回复
过犹不及呀,用多了,未必是好事
l2g32003
2003-08-29
打赏
举报
回复
我来看的
妈呀 好夸张
zzc
2003-08-29
打赏
举报
回复
听说触发器是全部装入SGA的,不知道处理10万个左右触发器需要多大的内存,需要什么档次的服务器?
bird93
2003-04-14
打赏
举报
回复
其实实现分布数据库的同步应有dbms实现,用oracle的同义词,数据库链路
就能完成同样的功能!
zzc
2003-04-14
打赏
举报
回复
不是上百个,是近两万个!
BT是啥?
lalasang
2003-04-14
打赏
举报
回复
我考!
竟然用上百个触发器!
BT的公司!
zzc
2003-04-14
打赏
举报
回复
希望大家能有一些关于性能影响方面的具体数据?光是说会影响也没有说服力,我只是凭直觉认为这种方式不合适。
zzc
2003-04-14
打赏
举报
回复
非常感谢大家关注我的问题,我们是一个深圳的大型连锁企业,有上百家分店(据说还计划到数百甚至上千个),那个“很牛”的软件公司给我们开发的业务软件里为了实现多分店日销售数据上传,在中心服务器上给每个分店建了一套TRIGGER,平均每店有170个之多,虽然大部分平时不用,可有好几个是每个操作都会触发到了,所以我对我们的服务器运行状态深感担忧。虽然我们目前用的是IBM RS/6000小型机,可我查看服务器状态可以看到现在的CPU资源占用已经超过90%,真不知道那上万个TRIGGER建立起来以后服务器会是什么样子,那个铁疙瘩会不会从机房晃悠出来揍我这个“管理员”?
mwpg79
2003-04-13
打赏
举报
回复
我已经晕了!!!!!!!!!!!!!!!什么公司阿
xiaohon
2003-04-13
打赏
举报
回复
肯定有影响!特别是在网络数据通信的时候!!
我做的哪个程序在没有t的时候数据上下传的时候一般是10分钟!
当加了几十个t后,大约要14分钟!
但是我还是觉得有必要加t!!特别是关于数据的一致性
taideveloper
2003-04-13
打赏
举报
回复
是那个公司的水平太差了,
oracle下的分布式数据库根本就不是那样实现的!
ccat
2003-04-13
打赏
举报
回复
触发器永远不应该是第一选择,一个表要上百个触发器,直觉上不太对劲。
好吧,我不了解具体情况,不敢乱讲,不过我见过有几百行的SQL,其实用一句就搞定的,存在既合理,没错,不过合什么理可不一定。这种结构难道不应该重新设计一下?
wwmmbbcsdn
2003-04-12
打赏
举报
回复
这么多trigger,有没有必要?系统有没有经过压力测试?我认为太多的trigger对性能影响很大,尤其是涉及到事务处理时候
认真生活快乐工作
2003-04-12
打赏
举报
回复
我喜欢我要也学好ORACLE
Tongls
2003-04-12
打赏
举报
回复
我认为用触发器比较安全。而且数据完整性与数据准确性比较高。
不过,有成千上万个就不大好啦! 注意适量。
加载更多回复(18)
Oracle
触发器
触发器
是许多关系数据库系统都提供的一项技术。在系统里,
触发器
类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。
Oracle
触发器
原理、创建、修改、删除
本篇主要内容如下: 8.1
触发器
类型 8.1.1 DML
触发器
8.1.2 替代
触发器
8.1.3 系统
触发器
8.2创建
触发器
8.2.1
触发器
触发次序 8.2.2 创建DML
触发器
8.2.3 创建替代(INSTEAD OF)
触发器
8.2.3 创建系统事件
触发器
8.2.4 系统
触发器
事件属性 8.2.5 使用
触发器
谓词 8.2.6 重新编译
触发器
8.3删除和使用
触发器
8.4
触发器
和数据字典 8.5数据库
触发器
的应用举例 8.6
触发器
的查看 8....
Oracle
中
触发器
(TRIGGER)使用方法
Oracle
触发器
是一种特殊的存储过程,它在数据库中定义,当特定的数据库事件发生时自动执行。这些事件通常包括数据的插入(INSERT)、更新(UPDATE)和删除(DELETE)操作,以及数据库中的其他系统事件,如登录、日志记录等。
Oracle
触发器
作为一种强大的数据库功能,能够实现数据完整性维护、审计与日志记录、自动执行业务逻辑等多种功能,为数据库管理和应用开发提供了极大的便利。通过深入了解
触发器
的类型、创建语法、使用示例以及管理方法,开发者可以更好地利用
触发器
来满足各种业务需求。
oracle
触发器
实例
8.1
触发器
类型 8.1.1 DML
触发器
8.1.2 替代
触发器
8.1.3 系统
触发器
8.2 创建
触发器
8.2.1
触发器
触发次序 8.2.2 创建DML
触发器
8.2.3 创建替代(INSTEAD OF)
触发器
8.2.3 创建系统事件
触发器
8.2.4 系统
触发器
事件属性 8.2.5 使用
触发器
谓词 8.2.6 重新编译
触发器
8.3 删除和使能
触发器
8.4
触发器
和数据字典 8.
Oracle
触发器
的
性能
优化和限制
下面是一个示例代码,演示了如何创建一个简单的
触发器
,并进行
性能
优化:--创建表CREATETABLEid NUMBER,100),--创建序列CREATE--创建
触发器
CREATEORREPLACETRIGGERBEFOREINSERTONemployeesFOREACHROWDECLAREBEGIN--生成新的IDSELECTINTOnew_idFROMDUAL;--
Oracle
17,134
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章