数据库查询 *** 作在各种数据库 *** 作中所占据的比重最大,而查询 *** 作所基于的select语句在SQL语句中又是代价最大的语句
举例来说,如果数据的量积累到一定程度,比如一个银行的账户数据库表信息积累到上百万甚至上千条记录,全表扫描一次往往需要数十分钟,甚至数小时
如果采用比全表扫描更好的查询策略,往往可以使查询时间降为几分钟,由此可见查询优化技术的重要性
大型数据库系统中往往要用到查询统计 但是对于数据量大的系统 用户在进行复杂的查询统计时往往感到速度很慢 不能满足应用要求 这就要求我们在设计数据库系统时进行合理设置 提高查询统计的速度 本文结合笔者的项目开发经验 阐述具体的设置方法
以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
以上就是关于数据库查询优化的策略有哪些全部的内容,包括:数据库查询优化的策略有哪些、如何提高ORACLE数据库的查询统计速度、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)