1 / 11
文档名称:

SQL规范指导.doc

格式:doc   大小:102KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SQL规范指导.doc

上传人:653072647 2019/4/27 文件大小:102 KB

下载得到文件列表

SQL规范指导.doc

相关文档

文档介绍

文档介绍:SQL规范指导书目录1 环境 42 高效的SQL语句 Sql优化方法 驱动表 Where语句顺序的效率 SQL命令的使用秘诀 DECODE的使用 表的别名的使用 去掉重复行 表的行计数 用WHERE语句替换HAVING语句的使用 使用表连接替代EXISTS使用 使用EXISTS替代表连接 使用EXISTS代替DISTINCT语句 使用NOTEXISTS代替NOTIN语句 使用unionall代替union语句 使用Union和IN代替OR语句 103 高效索引 索引的使用 增加索引 114 解析表的使用方法 SQLTRACE 参数表的生成 AUTOTRACE的用法 AUTOTRACE功能的使用 TKPROF 初始化 SQLTrace开始 实例 SQLTrace结束 内容变换 内容确认 (rule-basedoptimizer)CBO驱动表1)2张行数不一致的表连接表TAB1行数:16,384行表TAB2行数:1行×SELECTCOUNT(*)FROMTAB2,TAB1;○SELECTCOUNT(*)FROMTAB1,TAB2;2)3张表连接×SELECT*FROMEMPE,LOCL, =. =L.;○SELECT*FROMLOCL,CATC, = ANDE. =L.;Where语句顺序的效率使用索引引起的where语句效率使用AND语句时行数多的放在前面×SELECT*FROMempEWHEREemp_sal>50000ANDemp_type='MANAGER'AND25<(SELECTCOUNT(*)FROMEMPWHEREemp_mgr=);○SELECT*FROMempEWHERE25<(SELECTCOUNT(*)FROMEMPWHEREemp_mgr=)ANDemp_sal>50000ANDemp_type='MANAGER';使用OR语句时,行数多的放在后面×SELECT*FROMempEWHERE25<(SELECTCOUNT(*)FROMEMPWHEREemp_mgr=)OR(emp_sal>50000ANDemp_type='MANAGER');○SELECT*FROMempEWHERE(emp_sal>50000ANDemp_type='MANAGER')OR25<(SELECTCOUNT(*)FROMEMPWHEREemp_mgr=);2)ROWID的使用使用ROWID的WHERE语句效率最高。SELECTROWID,...INTO:emp_rowid,...=56722FORUPDATE;=...,WHEREROWID=:emp_rowid; 3)减少访问次数×SELECTemp_name,sal,gradeFROMempWHEREemp_no=0342;SELECTemp_name,sal,gradeFROMempWHEREemp_no=0291;○,,, ,,,=0342 =0291; 4)Where语句的索引的使用 (1)SUBSTR×_name,trans_date,amountFROMtransactionWHERESUBSTR(account_name,1,7)='CAPITAL';○_name,trans_date,ount_nameLIKE'CAPITAL%'; (2)!=×_name,trans_date,amountFROMtransactionWHEREamount!=0; ○_name,trans_date,amountFROMtransaction WHEREamount>0;(3)