建议对DB进行一次健康检查;TOAD 中有的;看看是不是里面有行迁移或行链接;
我猜测你的UPDATE 频率不低;若真是这样,建议和开发者进行确认是否正常;你还可以适当的增加FREE参数;
还有一个需要注意是,分区表尽量用分区索引;若有GLOBAL索引,请定期REBUILD;
判断其实非常简单,找些人远程登录服务器,在服务器上开三十个登陆软件就可以了,这时候是本机登陆本机,不存在网络开销。
问题不在于这里,内网的话,网速应该不是问题,问题是你们的数据库究竟用来干什么,为什么会这么慢
你自己也应该知道做软件的辛苦,出了任何问题,所有的人不会从自己找原因,而是直接认为是软件部门的问题,这是十分简单粗暴的想法,但是也是我们进步的动力
如果远程登录也有速度慢的问题,那么就肯定是数据库本身有问题,如果没有,也不证明不是设置的问题
一个可能是数据库本身配置不当,或者系统配置不当,三百多g的数据库只不过是小型数据库的水平,我们一个中型数据库数t的数据,也没有登录一分钟的现象
一个问题可能是硬件的问题,比如你们内网其实是10m网卡,而数据吞吐量达到数百兆,或者硬盘读写速度跟不上
扯皮其实没有任何意义,以后你会知道,对于领导来说,需要的是尽快解决问题,解决不了的话,只会各打五十大板,尽快找到并且解决问题,才是最重要的,剩下的才是问题的责任问题
说个笑话你听,以前有两个市,都遭遇了洪水,一个市平常总是防洪做的很好,另一个市则不然,市长亲自出动到了抗洪第一线,结果最终,到了抗洪第一线的市长升职了,被无数老百姓称为青天,事实如何,你要掂量,要让所有的人感到你在用心做,尤其是要解决问题,这才是重要的
这个慢是一个追踪的过程,你要分析,是一个用户慢,还是全部用户都慢。如果是一个用户慢,是一直都慢,还是一会快一会慢。
如果这个用户是一直都慢,你要看这个用户的sql,应用方面了。看sql执行计划。优化sql。
PB连接数据库右键打开一张表的时候要刷新挺多数据的,需要读取一些系统表,获取对象数据结构信息,并且生成一个数据窗口展现数据。这个过程消耗时间。
检查一下如下几个情况:
1、使用的Oracle驱动是否版本匹配,例如:你使用Oracle8的驱动连接Oracle10的数据库,从访问的优化性来将,是有差别的,可能会影响效率;
2、把视图在PL/SQL工具中进行执行计划的查询,检查其性能是否有问题,例如:索引使用不当等情况;
3、程序编译之后执行一下看看,性能是否依旧较低?开发模式下,编译器没有针对性的优化,可能影响到效率。
从开发阶段就开始关注效率,这个是很好的习惯。希望我的回答能对你有帮助。
ORACLE 不会自动建立索引,之所以快是因为从内存中读取比disk IO要快的原因。
LZ的概念理解有误,我来举例说明下。
ORACLE data一般缓存在SGA中的data cache中 1表A有10000条数据,在0:00时刻对其进行查询,则将表A的所有数据块从disk缓存至data cache中。因此第二次查询时直接从data cache中获得速度变快。 20:05时刻 对表A进行更新等 *** 作,20000行。再次对表A进行查询,之前没有变化的数据块仍然直接从data cache中直接获得。发生过变更,或新增的数据块,需要重新从disk读入data cache中,如果data cache空间已满,就会将之前发生变更的脏数据块及不常使用的数据块清空出data cache,然后缓存新的数据块。 因此整个过程中,不会出现你说的只能查到缓存数据的现象。分析你遇到的问题,很有可能是你用userA 进行查询后发现表10000行,然后使用userB进行更新至20000行,但是userB并没有commit。因此userA在查询时仍然只能看到10000行。
以上就是关于请问下oracle数据库中的表访问速度特别慢全部的内容,包括:请问下oracle数据库中的表访问速度特别慢、oracle 数据库速度、oracle资料库变慢,其中一个用户下的 *** 作变的比较慢,将其导入到另外一个资料库就快了,其它用户没问题。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)