Oracle 编程培训.ppt
《Oracle 编程培训.ppt》由会员分享,可在线阅读,更多相关《Oracle 编程培训.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、HUAWEI TECHNOLOGIES CO.,LTDHuawei Confidential Security Level:英文标题:40-47pt 副标题:26-30pt字体颜色:反白内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:35-47pt字体:黑体 副标题:24-28pt字体颜色:反白字体:细黑体Oracle 编程与优化编程与优化 客服定制部客服定制部2023/1/13英文目录标题:35-40pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文目录标题:35-40pt 颜色:
2、R153 G0 B0字体:黑体英文目录正文:28-30pt子目录(2-5级):20-30pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文目录正文:28-30pt子目录(2-5级):20-30pt 颜色:黑色字体:细黑体 Contents使用索引使用索引SQL编程编程数据库设计数据库设计现网数据库操作现网数据库操作HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial
3、中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.使用索引:建立索引的原则(1)l1、索引字段建议建立、索引字段建议建立NOT NULL约束约束(is null or is not null是无法用到索引是无法用到索引的的);l
4、2、表的主键、外键必须有索引;、表的主键、外键必须有索引;l3、数据量超过、数据量超过1000的表、查询出总行数的表、查询出总行数2%到到4%行的表应该有索引;行的表应该有索引;l4、经常与其他表进行连接的表,在连接字段上应该建立索引;、经常与其他表进行连接的表,在连接字段上应该建立索引;l5、经常出现在、经常出现在Where子句中的字段且过滤性很强的,特别是大表的字段,子句中的字段且过滤性很强的,特别是大表的字段,应该建立索引;应该建立索引;l6、可选择性高的关键字、可选择性高的关键字,应该建立索引;,应该建立索引;l7、可、可选择性低的选择性低的关键字关键字,但数据的值分布差异很大时,选择
5、性数据比较少时仍,但数据的值分布差异很大时,选择性数据比较少时仍然可以利用索引提高效率;然可以利用索引提高效率;Page 3HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-
6、5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.使用索引:建立索引的原则(2)l8、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:l A、正确选择复合索引中的第一个字段,一般是选择性较好的且在、正确选择复合索引中的第一个字段,一般是选择性较好的且在where子句中常子句中常用的字段上;用的字段上;l B、复合索引的几个字段是否经常同时以、复合索引的几个字段是否经常同时以AND方式出现在方式出现在W
7、here子句中?单字段子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;l C、如果复合索引中包含的字段经常单独出现在、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字子句中,则分解为多个单字段索引;段索引;l D、如果复合索引所包含的字段超过、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合个,那么仔细考虑其必要性,考虑减少复合的字段;的字段;l E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;、如果既有单字段索引,又有
8、这几个字段上的复合索引,一般可以删除复合索引;l9、频繁、频繁DML的表,不要建立太多的索引;的表,不要建立太多的索引;l10、不要将那些频繁修改的列作为索引列;、不要将那些频繁修改的列作为索引列;Page 4HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5级):18pt 颜色:黑色内部使用字体:FrutigerNe
9、xt LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.使用索引:合理的索引(1)原则如下:原则如下:l首先,看是否用上了索引。对于该使用索引而没有用上索引的首先,看是否用上了索引。对于该使用索引而没有用上索引的SQL语句,语句,应该想办法用上索引应该想办法用上索引,避免全表扫描避免全表扫描。(特别注意索引列的运算特别注意索引列的运算)l其次,看是否用上了合理的索引,特别是复杂的其次,看是否
10、用上了合理的索引,特别是复杂的SQL语句,当其中语句,当其中Where子句包含多个带有索引的字段时,更应该注意索引的选择是否合子句包含多个带有索引的字段时,更应该注意索引的选择是否合理。错误的索引不仅不会带来性能的提高,相反往往导致性能的降低。理。错误的索引不仅不会带来性能的提高,相反往往导致性能的降低。(特别注意多个索引时哪种组合最好)(特别注意多个索引时哪种组合最好)Page 5HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用
11、字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.使用索引:合理的索引(2)针对如何用上合理的索引,以下举针对如何用上合理的索引,以下举ORACLE数据库中的例子进行说明:数据库中的例子进行说明:l1、任何对列的
12、操作都可能导致全表扫描,这里所谓的操作包括数据库函、任何对列的操作都可能导致全表扫描,这里所谓的操作包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等式的右边,甚至去数、计算表达式等等,查询时要尽可能将操作移至等式的右边,甚至去掉函数。如果要使用函数建议创建相应的函数索引。掉函数。如果要使用函数建议创建相应的函数索引。l2、避免不必要的类型转换,要了解、避免不必要的类型转换,要了解“隐藏隐藏”的类型转换。的类型转换。l3、增加查询的范围,限制全范围的搜索。、增加查询的范围,限制全范围的搜索。l4、索引的效率比较低的情况下,应该用特殊的方法屏蔽该索引,如果字、索引的效率比较低的情况下,应
13、该用特殊的方法屏蔽该索引,如果字段为数值型的就在表达式的字段名后段为数值型的就在表达式的字段名后+0,为字符型的就并上空串,为字符型的就并上空串。Page 6HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中
14、文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.使用索引:合理的索引(3)l5、在、在ORACLE优化器无法用上合理索引的情况下,利用优化器无法用上合理索引的情况下,利用HINTS强制指强制指定索引。定索引。l7、在、在ORACLE优化器能用上合理利用索引的情况下,就不需要用优化器能用上合理利用索引的情况下,就不需要用HINTS强制指定索引。强制指定索引。l8、使用复合索引且第一个索引字段没有出现在使用复合索引且第一个索引字段没有出现
15、在where中时建议用中时建议用HINTS强制。强制。l9、OLTP中尽量不用位图索引。中尽量不用位图索引。l10、在删除(、在删除(delete)操作频繁,建议适当时候需重建索引)操作频繁,建议适当时候需重建索引(rebuild)和碎和碎片整理片整理(coalesce)。Page 7HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22p
16、t子目录(2-5级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.使用索引:合理的索引(4)l11、尽量使用前端匹配的模糊查询(、尽量使用前端匹配的模糊查询(like),以通过使用索引来避免全表),以通过使用索引来避免全表扫描。扫描。l12、删除无用的索引,避免对执行计划造成负面影响。、删除无用的索引,避免对执行计划造成负面影
17、响。l13、避免在索引列上使用、避免在索引列上使用IS NULL 和和 IS NOT NULL。l14、正确使用组合索引,、正确使用组合索引,SQL语句在使用复合索引时,与该复合索引字语句在使用复合索引时,与该复合索引字段的组合顺序有关。段的组合顺序有关。Page 8HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5级
18、):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.使用索引:常用优化器提示 lFULL表示对表选择全表扫描的访问方法表示对表选择全表扫描的访问方法/*+FULL(table_name)*/l INDEX表示对指定表选择索引扫描的访问方法表示对指定表选择索引扫描的访问方法/*+INDEX(table_name index)*/lN
19、O_INDEX表示对指定表禁止选择索引访问方法表示对指定表禁止选择索引访问方法/*+NO_INDEX(table_nameindex)*/lAND-EQUAL表示要进行执行规则的选择。使几个但列的索引的扫描合并起来表示要进行执行规则的选择。使几个但列的索引的扫描合并起来/*+AND_EQUAL(table_nameindex inex)*/lUSE_CONCAT提示强制对查询语句中的提示强制对查询语句中的WHERE从句的从句的OR条件进行转换,转化成条件进行转换,转化成由由UNION_ALL集合操作符连接的组合查询集合操作符连接的组合查询/*+USE_CONCAT*/l/*+USE_NL(ta
20、ble_name table_name)*/、/*+USE_MERGE(table_name table_name)*/、/*+USE_HASH(table_name table_name)*/指定表的连接方式指定表的连接方式l/*+LEADING(table_name)*/指定驱动表指定驱动表Page 9HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体
21、英文正文:20-22pt子目录(2-5级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.使用索引:确定索引的使用情况l在在oracle9i中,情况会简单得多,因为有一个新得字典视图中,情况会简单得多,因为有一个新得字典视图V$SQL_PLAN存储存储了实际计划,这些计划用于执行共享了实际计划,这些计划用于执行共享SQL区中得语
22、句区中得语句 SQLSELECT SQL_TEXT,ADDRESS,HASH_VALUE FROM V$SQL A WHERE A.SQL_TEXT LIKE%关键字关键字%;SQLSELECT OPERATION,OPTIONS,OBJECT_NAME,COST FROM V$SQL_PLAN WHERE ADDRESS=#ADDRESS AND HASH_VALUE=#HASHVALUE;lEXPLAIN PLAN 预执行计划,两种途径预执行计划,两种途径PL/SQL developer和和SQL PLUS(set autotrace)。Page 10HUAWEI TECHNOLOGIES
23、 CO.,LTD.Huawei Confidential 英文标题:32-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标
24、志放在右上角.使用索引:RBO优化器(1)lFROM中的表名顺序中的表名顺序pRBO(RULE BASED OPTIMIZER)是按照从右到左的顺序处理FROM子句中的表名,如果表所有的连接条件都有索引对应,且索引级别一样的情况下,基础表就是FROM 子句中列在最后的那个表。否则基础表就是FROM 子句中索引级别最高的那个表。pCBO(COST BASED OPTIMIZER),优化器会检查SQL语句中的每个表的物理大小,索引的状态,然后选用花费最低的执行路径。与顺序无关。Page 11HUAWEI TECHNOLOGIES CO.,LTD.Huawei Confidential 英文标题:3
25、2-35pt 颜色:R153 G0 B0内部使用字体:FrutigerNext LT Medium外部使用字体:Arial中文标题:30-32pt 颜色:R153 G0 B0字体:黑体英文正文:20-22pt子目录(2-5级):18pt 颜色:黑色内部使用字体:FrutigerNext LT Regular外部使用字体:Arial中文正文:18-20pt子目录(2-5级):18pt 颜色:黑色字体:细黑体 配色参考方案:建议同一页面内不超过四种颜色,以下是组配色方案,同一页面内只选择一组使用。(仅供参考)客户或者合作伙伴的标志放在右上角.使用索引:RBO优化器(2)lSQL SELECT t.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 编程培训 编程 培训
限制150内