估计你oracle装在本地了吧,你机器是多大内存啊,oracle服务端是很耗内存的,如果你自己搞小项目建议用mysql吧,如果搞商用项目建议搞个大点的机器用作oracle服务端,我们开发的时候 服务端都装在单板上的,32G内存。
进行连接本地ORACLE数据库m_pConnection-> ConnectionString =
"Provider=OraOLEDBORACLE1;
Data Source=jiey;
User Id=system;
Password=manager; ";
m_pConnection-> Open( " ", " ", " ",adConnectUnspecified );
这部分整个运行期只做一次,连接是很费时间的,不要总是open
如果不需要查看数据就不要m_pRecordset-> Open了
直接用m_pConnection执行SQL语句插入
我想这样会快很多
楼主的语法是按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
这个问题是11g很出名的问题了。你的服务器上(指 *** 作系统,不是数据库)配置了名字解析服务器nameserver,但是配置的地址是错误的,或者不可用的。
Oracle 11g之后,如果你配置了nameserver,那么oracle就要先验证nameserver,失败超时之后才会用别的办法连接。超时时间就是十几秒到30秒左右。
如果是在Linux/Unix环境下, 你可以在
/etc/resolvconf中找到nameserver信息,去掉就好了,windows我也没调过,估计也有类似的设置吧
你好,ORACLE数据库中有一个文件叫做重做日志文件,每当你进行一次DML *** 作时,就会在redo文件(重做日志文件)中记录一次您的 *** 作。所以当你的 *** 作越来越多时,你的重做日志文件就越来越大。
因为重做日志文件为你提供了回滚的机会,所以您应该在一个事物结束后就用commit命令提交。
在硬件方面,ORACLE的正常运行有2G的内存就足够了,你可以在运行数据库时尽量不开其他的应用程序,电脑的 *** 作系统用windows XP的,这样会比较节省资源,体搞您的数据库运行速度。
建议查看是哪些功能访问数据库会很慢,把SQL摘出来,在ORACLE数据库里执行看看有没有问题,可以确定以下问题:
1、网速问题/程序问题,也就是应用程序服务器与数据库服务器相互访问是否存在访问速度过慢?是否执行SQL后程序又做了复杂运算导致页面等待时间过长?
2、数据问题,由于数据量的增加,导致语句执行慢,此时,应该优化SQL语句。
3、表结构问题,查看是否对大数据量的表用到索引、分区等,优化表存储。
4、对于一些多表查询的SQL,建议用视图,对于一些复杂运算的SQL,建议用存储过程。
以上就是关于java项目连接oracle数据库,连的人多 *** 作数据库会越来越慢,怎么解决全部的内容,包括:java项目连接oracle数据库,连的人多 *** 作数据库会越来越慢,怎么解决、oracle 客户端打开数据库缓慢的问题、oracle数据库速度很慢重启后速度变快等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)