楼主的语法是按orcale来的吧?sql server2000中的trigger中没有before、for each row、new等关键字。下面我写了个,能实现你的功能,只是不知道有没有性能更好的写法。期待更佳的
if exists(select from sysobjects where name='Insert_Or_Update_sal')
drop trigger Insert_Or_Update_sal
go
CREATE TRIGGER Insert_Or_Update_sal
ON TEACHER
FOR insert,update
AS
BEGIN
1 首先看看,先分析慢的原因,一部分是因为循环次数多,一部分是因为查询数据量大慢。
2 可以从优化查询入手,比如某次查询的sql里面的数据,条件字段没有建索引,导致了全表扫描,
是不是 只需要几个字段,但是你写了 select 等等,总之要优化数据的速度。
2 可以从循环逻辑看起,有些循环可能是不必要的,能不能通过条件查询来替代循环,总之要从逻辑上优化代码
sqlpus "/as sysdba"这种方式是通过loop管道去连接本地数据库 好处是不走网络,也不经过lsnrctl监听器
sqlplus 用户名/密码@IP/DBName[SID] as sysdba 这种方式与上面的连接方法有根本上的不同 ; 这种方式是使用sqlplus作为客户端 , 去登录目标IP/SID的数据库 用这种方式登录所做的动作就是先去网络绕一圈,找到目标IP后再绕回来登录
从你描述的情况上看,连接速度慢的问题更可能是网络原因可以从你的客户端机器
route 192981815
看一下网络耗时
以上就是关于oracle数据库速度很慢重启后速度变快全部的内容,包括:oracle数据库速度很慢重启后速度变快、oracle数据库存储过程执行慢时如何优化、【高分求助】连接服务器Oracle 11g数据库较慢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)