全球旧事资料 分类
条件来匹配左、右两个表中的行selectAc1Bc2fromAjoi
Bo
Ac3Bc3交叉连接生成笛卡尔积它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每个行一一匹配
fselectAc1Bc2fromAB2不借助第三方工具,怎样查看sql的执行计划I使用Explai
Pla
查询PLAN_TABLEEXPLAINPLAN
SETSTATEMENT_IDQUERY1FORSELECTFROMaWHEREaa1SELECToperatio
optio
sobject_
ameobject_typeIDpare
t_id
FROMpla
_tableWHERESTATEMENT_IDQUERY1ORDERBYIDIISQLPLUS中的SETTRACE即可看到Executio
Pla
StatisticsSETAUTOTRACEON3如何使用CBOCBO与RULE的区别IF初始化参数OPTIMIZER_MODECHOOSETHENIF做过表分析THEN优化器OptimizerCBOCOSTELSE优化器OptimizerRBORULEENDIFENDIF区别:高效高效
8IDEFAULT
fRBO根据规则选择最佳执行路径来运行查询。CBO根据表统计找到最低成本的访问数据的方法确定执行计划。使用CBO需要注意:I需要经常对表进行ANALYZE命令进行分析统计
II需要稳定执行计划III需要使用提示Hi
t使用RULE需要注意:I选择最有效率的表名顺序
II优化SQL的写法在optimizer_modechoose时如果表有统计信息(分区表外)优化器将选择CBO否则选RBO。RBO遵循简单的分级方法学使用15种级别要点,当接收到查询,优化器将评估使用到的要点数目然后选择最佳级别(最少的数量)的执行路径来运行查询。CBO尝试找到最低成本的访问数据的方法为了最大的吞吐量或最快的初始响应时间计算使用不同的执行计划的成本,并选择成本最低的一个关于表的数据内容的统计被用于确定执行计划。4如何定位重要消耗资源多的SQL使用CPU多的用户sessio
SELECTaSIDspidstatusSUBSTRaprogram140progatermi
alaSQL_TEXTosuserVALUE60100VALUEFROMvsessio
avprocessbvsesstatcWHEREcstatistic12ANDcSIDaSIDANDapaddrbaddrORDERBYVALUEDESCselectsql_textfromvsqlwheredisk_readsgt1000orexecutio
sgt0a
dbuffer_getsexecutio
sgt30000
f5如何跟踪某个sessio
的SQL利用TRACE跟踪ALTERSESSIONSETSQLTRACEONCOLUMNSQLformata200SELECTmachi
esql_textSQL
FROMvsqltextavsessio
bWHEREaddresssql_addressANDmachi
eAORDERBYhash_valuepieceexecdbms_systemset_sql_trace_i
_sessio
sidserialampsql_traceselectsidserialfromvsessio
wheresidselectsidfromvmystatwhererow
um1execdbms_systemset_evampsidampserialampeve
t_10046amplevel_126SQL调整最关注的是什么检查系统的IO问题sar-d能检查整个系统的iostat(IOstatistics)查看该SQL的respo
setimedbblockgetsco
siste
tgetsphr
好听全球资料 返回顶部