欢迎来到天天文库
浏览记录
ID:44778490
大小:233.50 KB
页数:12页
时间:2019-10-28
《ORACLESQL性能优化地53个重要准则补充》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用数据库开发优化和版本比较工具的使用方法1.在什么情况下索引会失效或丢失(1)用户显式地执行命令:alterindex<索引名>disable或dropindex<索引名>;(2)迁移表到其他表空间:altertable<表名>movetablespace<表空间名称>,如果不重建索引,此时索引失效。(3)数据导入,如:imp导入数据时,显式地添加参数INDEXES=N或在导入过程中条件不满足创建索引失败等。2.MIS版本比较修正工具使用版本比较工具主要用来比较客户的数据库和标准的数据库中的表、字段、约束、索引、视图和存储过程等对象进行比较并生成相应的sql语句,执行这些sql可以使
2、客户的数据库和标准数据库达到数据结构一致。利用安装包创建标准库打开版本比较工具,如下图文档实用(1)连接标准库和客户数据库,如下图文档实用(2)点击比较表、比较主键、比较索引、比较存储过程、比较序列等按钮,可以比较相应的数据库对象,并生成比较日志和相应sql语句。(3)另存脚本(4)执行脚本(5)执行相应sql注:本工具还提供了模块版本比较功能。1.临时表不能利用索引的研究前言:Oracle临时表能避免并发,提高程序的可伸缩性等诸多优点,但在查询时,有时不能有效利用索引。文档实用问题描述:有如下两张表,其中yd_yhjbda是普通表,有记录数10万条,TMP_JSHH_X为Oracle
3、基于会话的临时表,有一条记录:表TMP_JSHH_XCREATEGLOBALTEMPORARYTABLETMP_JSHH_X( HH NUMBER(8), DFNY VARCHAR2(6), SFPC NUMBER(2))ONCOMMITPRESERVEROWS;CREATETABLEYD_YHJBDA( HH NUMBER(8) NOTNULL, HM VARCHAR2(100), YDDZ VARCHAR2(50), SFZH VARCHAR2(18));CREATEUNIQUEINDEXYD_YHJBD
4、A_PKONYD_YHJBDA(HH);文档实用(1)进行如下关联查询selecta.hh,a.hm,a.YDDZ,a.sfzhfromtmp_jshh_xb,yd_yhjbdaawherea.hh=b.hh执行计划Operation ObjectName Rows Bytes Cost ObjectNode In/Out PStart PStopSELECTSTATEMENTOptimizerMode=CHOOSE 7M 4677
5、HASHJOIN 7M 373M 4677 TABLEACCESSFULL TMP_JSHH_X 8K 103K 10 TABLEACCESSFULL YD_YHJBDA 94K 3M 3624 文档实用发现没有利用索引(2)改用如下查询(查询字段减少):selecta.hhfromtmp_jshh_xb,yd
6、_yhjbdaawherea.hh=b.hh或:selectb.*fromtmp_jshh_xb,yd_yhjbdaawherea.hh=b.hh执行计划:Operation ObjectName Rows Bytes Cost ObjectNode In/Out PStart PStopSELECTSTATEMENTOptimizerMode=CHOOSE 7M 10 文档实用 NESTEDLOOPS 7M 131
7、M 10 TABLEACCESSFULL TMP_JSHH_X 8K 103K 10 INDEXUNIQUESCAN YD_YHJBDA_PK 94K 459K 发现成功利用了YD_YH
此文档下载收益归作者所有