原因有很多中可能,首先数据库应该对数据量大的表做index优化;其次检查你的sql语句是否用了最合适的方法,在多表查询时,where 之后的条件先接主键关联和int、long 型的条件,再解字符型,最后是folat型。。between and的条件也优先级放到后面去!
大型数据库系统中往往要用到查询统计 但是对于数据量大的系统 用户在进行复杂的查询统计时往往感到速度很慢 不能满足应用要求 这就要求我们在设计数据库系统时进行合理设置 提高查询统计的速度 本文结合笔者的项目开发经验 阐述具体的设置方法
以oracle 数据库系统为例 我们在开发大型oracle数据库系统时结合项目的特点 本着安全 高效的原则对数据库进行了一些物理设计 从而大大提高了数据库的查询统计速度 总结为如下几点
)扩大数据表空间到 M 用于存放本系统的数据;
)段盘区的初始大小为 K 增长大小为 K 增长幅度为 ;
)用户临时空间增大 M;
)系统临时表空间和回滚段表空间增大 M 并且新建 个回滚段;
)需要经常联结查询 而且数据量又大的库存表 名录表 收发料表放在一簇内;
)提供定时备份 备份文件放在另外的机器上
设置数据表空间的SQL语句如下
CREATE TABLESPACE WXGL_DATA DATAFILE WXGL_DATA ORA SIZE M ONLINE;
增加系统临时表空间和回滚段表空间的SQL语句如下
ALTER TABLESPACE TEMPORARY_DATA ADD DATAFILE TMP ORCL ORA SIZE M; ALTER TABLESPACE ROLLBACK_DATA ADD DATAFILE RBS ORCL ORA SIZE M;
将数据空间设置在指定的数据文件的SQL语句如下
CREATE USER ZBGL IDENTIFIED BY ZBGL; GRANT DBA TO ZBGL; ALTER USER ZBGL DEFAULT TABLESPACE WXGL_DATA TEMPORARY TABLESPACE TEMPORARY_DATA; 设置五个回滚段的SQL语句如下 SELECT SEGMENT_NAME FROM DBA_ROLLBACK_SEGS WHERE INITIAL_EXTENT < AND UPPPER(OWNER) = PUBLIC ; SELECT UPPER(STATUS) FROM DBA_ROLLBACK_SEGS WHERE UPPER(SEGMENT_NAME) = ALTER ROLLBACK SEGMENT RB OFFLINE; ALTER ROLLBACK SEGMENT RB OFFLINE; ALTER ROLLBACK SEGMENT RB OFFLINE; ALTER ROLLBACK SEGMENT RB OFFLINE; ALTER ROLLBACK SEGMENT RB OFFLINE; DROP ROLLBACK SEGMENT RB ; DROP ROLLBACK SEGMENT RB ;
DROP ROLLBACK SEGMENT RB ; DROP ROLLBACK SEGMENT RB ; DROP ROLLBACK SEGMENT RB ; CREATE PUBLIC ROLLBACK SEGMENT RB TABLESPACE ROLLBACK_DATA STORAGE (INITIAL NEXT MAXEXTENTS ); CREATE PUBLIC ROLLBACK SEGMENT RB TABLESPACE ROLLBACK_DATA STORAGE (INITIAL NEXT MAXEXTENTS ); CREATE PUBLIC ROLLBACK SEGMENT RB TABLESPACE ROLLBACK_DATA STORAGE (INITIAL NEXT MAXEXTENTS ); CREATE PUBLIC ROLLBACK SEGMENT RB TABLESPACE ROLLBACK_DATA STORAGE (INITIAL NEXT MAXEXTENTS ); CREATE PUBLIC ROLLBACK SEGMENT RB TABLESPACE ROLLBACK_DATA STORAGE (INITIAL NEXT MAXEXTENTS ); ALTER ROLLBACK SEGMENT RB ONLINE; ALTER ROLLBACK SEGMENT RB ONLINE; ALTER ROLLBACK SEGMENT RB ONLINE; ALTER ROLLBACK SEGMENT RB ONLINE; ALTER ROLLBACK SEGMENT RB ONLINE; MIT;
将数据量大的库存表等放在一簇内的SQL语句如下
lishixinzhi/Article/program/Oracle/201311/18984
这是系统文件、磁盘、系统出了临时的问题,有时是 *** 作不正确引起的,如果不经常发生不用管它,如果经常发生前你做了什么 *** 作?下载了什么软件、插件、升级了什么补丁?如果有全部卸载试试,另外是否是硬件的问题?就是说升级了硬件没有?硬件有异常吗?先软后硬,建议先查杀一下木马,修复一下系统试试。
建议你使用腾讯电脑管家来进行电脑体检,直接删除掉残留的注册表什么的,然后删掉垃圾文件,在进行电脑杀毒看看,希望能帮到你
1、是这样的。
2、这个说不好,我没这么做过。你手边应该有oralce的全套电子文档吧。关键是你要找对系统表或者视图。我记得索引的系统视图不是这个。
3、这些与你要做的有关系吗?别像没头苍蝇一样瞎撞了。
4、不用删表,如果你连基本的语句命令都不懂,那只能看书了。
5、慢的原因有好多,逐步排除吧,等找到真正原因再说。急没用的。
6、默认情况下,是会建到用户的默认表空间的。
7、这个看你的维护需要。最起码先弄明白你的库是怎么回事再说吧。就从这些问题看,你根本就是门外汉,连库是怎么回事都没弄明白。
以上就是关于oracle 在大批量数据查找时为什么特别慢全部的内容,包括:oracle 在大批量数据查找时为什么特别慢、如何提高ORACLE数据库的查询统计速度、oracle 为什么查询数据很快 但是插入数据很慢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)