1、没有索引或者没有用到索引,这是查询慢最常见的问题,是程序设计的缺陷。2 、
O吞吐量小,形成了瓶颈效应。3、
没有创建计算列导致查询不优化。4 、
内存不足。5 、
网络速度慢。6 、
查询出的数据量过大,可以采用多次查询,其他的方法降低数据量。7、
锁或者死锁,这也是查询慢最常见的问题,是程序设计的缺陷。
表是包含数据库中所有数据的数据库对象。表定义为列的集合。与电子表格相似,数据在表中式按行和列的格式组织排列的。表中的每一列都设计为存储某种类型的信息(例如日期、名称、美元金额或数字)。
大型数据库系统中往往要用到查询统计 但是对于数据量大的系统 用户在进行复杂的查询统计时往往感到速度很慢 不能满足应用要求 这就要求我们在设计数据库系统时进行合理设置 提高查询统计的速度 本文结合笔者的项目开发经验 阐述具体的设置方法
以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 MALTER TABLESPACE ROLLBACK_DATA ADD DATAFILE RBS ORCL ORA SIZE M
将数据空间设置在指定的数据文件的SQL语句如下
CREATE USER ZBGL IDENTIFIED BY ZBGLGRANT DBA TO ZBGLALTER 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 OFFLINEALTER ROLLBACK SEGMENT RB OFFLINEALTER ROLLBACK SEGMENT RB OFFLINEALTER ROLLBACK SEGMENT RB OFFLINEALTER ROLLBACK SEGMENT RB OFFLINEDROP 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 ONLINEALTER ROLLBACK SEGMENT RB ONLINEALTER ROLLBACK SEGMENT RB ONLINEALTER ROLLBACK SEGMENT RB ONLINEALTER ROLLBACK SEGMENT RB ONLINEMIT
将数据量大的库存表等放在一簇内的SQL语句如下
lishixinzhi/Article/program/Oracle/201311/18984
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)