- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
?
?
Oracle11gR2全表扫描成本计算(非工作量模式-noworkload)
?
?
数据库版本Oracle11gR2
SQLselect*fromv$versionwhererownum=1;
BANNER
OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-Production
创建手动管理的表空间,blockssize8k
SQLcreatetablespacetestdatafile
/u01/app/oracle/oradata/ROBINSON/datafile/test.dbfsize50mautoextendonmaxsize200m
uniformsize1msegmentspacemanagementmanualblocksize8k;23
Tablespacecreated.
创建测试用户test,默认表空间test
SQLcreateusertestidentifiedbyoracledefaulttablespacetest;
Usercreated.
为了简便,授权DBA给test
SQLgrantdbatotest;
Grantsucceeded.
创建测试表test
SQLcreatetabletestasselectfromdba_objectswhere1=0;
Tablecreated.
设置pctfree99
SQLaltertabletestpctfree99pctused1;
Tablealtered.
SQLinsertintotestselectfromdba_objectswhererownum2;
1rowcreated.
确保一行一个block
SQLaltertabletestminimizerecords_per_block;
Tablealtered.
SQLinsertintotestselect*fromdba_objectswhererownum1000;
999rowscreated.
SQLcommit;
Commitcomplete.
收集表统计信息
SQLBEGIN
DBMS_STATS.GATHER_TABLE_STATS(ownname=TEST,
tabname=TEST,
estimate_percent=100,
method_opt=forallcolumnssize1,
degree=DBMS_STATS.AUTO_DEGREE,
cascade=TRUE
);
END;
/2345678910
PL/SQLproceduresuccessfullycompleted.
SQLselectowner,blocksfromdba_tableswhereowner=TESTandtable_name=TEST;
OWNERBLOCKS
TEST1000
SQLshowparameterdb_file_multiblock_read_count
NAMETYPEVALUE
db_file_multiblock_read_countinteger16
全表扫描的成本等于220
SQLselectcount(*)fromtest;
ExecutionPlan
Planhashvalue:1950795681
Id
Operation
Name
Rows
Cost(%CPU)
Time
0
SELECTSTATEMENT
1
220(0)
00:00:03
1
SORTAGGREGATE
1
2
TABLEACCESSFULL
TEST
1000
220(0)
00:00:03
成本的计算方式如下:
Cost=(
SRds*sreadtim+
MRds*mreadtim+
CPUCycles/cpuspeed
)/sreadtime
SRds-numberofsingleblockreads
MRds-numberofmultiblockreads
CPUCyles-numberofCPUcycles
sreadtim-singleblockreadtime
mreadtim-multi
文档评论(0)