- 1、本文档共124页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Probed Table Probed Table(被探查表):该表又称为内层表(INNER TABLE)。在我们从驱动表中得到具体一行的数据后,在该表中寻找符合连接条件的行。所以该表应当为大表(实际上应该为返回较大row source的表)且相应的列上应该有索引。 组合索引(concatenated index) 由多个列构成的索引,如create index idx_emp on emp(col1, col2, col3, ……),则我们称idx_emp索引为组合索引。在组合索引中有一个重要的概念:引导列(leading column),在上面的例子中,col1列为引导列。当我们进行查询时可以使用”where col1 = ? ”,也可以使用”where col1 = ? and col2 = ?”,这样的限制条件都会使用索引,但是”where col2 = ? ”查询就不会使用该索引。所以限制条件中包含先导列时,该限制条件才会使用该组合索引。 可选择性(selectivity) 比较一下列中唯一键的数量和表中的行数,就可以判断该列的可选择性。如果该列的”唯一键的数量/表中的行数”的比值越接近1,则该列的可选择性越高,该列就越适合创建索引,同样索引的可选择性也越高。在可选择性高的列上进行查询时,返回的数据就较少,比较适合使用索引查询。 oracle访问数据的存取方法 全表扫描(Full Table Scans, FTS) 通过ROWID的表存取 (Table Access by ROWID ) 索引扫描(Index Scan) 索引扫描(Index Scan) 索引唯一扫描(index unique scan) 索引范围扫描(index range scan) 索引全扫描(index full scan) 索引快速扫描(index fast full scan) 表访问方式 全表扫描:读取表中每一条记录,顺序读取; 散列获取:使用符号散列主键来为带有匹配散列值表中的记录创建ROWID ; ROWID访问:通过指定的ROWID的方式在表中选定一个单独的记录;是访问记录的最快方式; 表之间的连接 row source(表)之间的连接顺序对于查询的效率有非常大的影响。通过首先存取特定的表,即将该表作为驱动表,这样可以先应用某些限制条件,从而得到一个较小的row source,使连接的效率较高,这也就是我们常说的要先执行限制条件的原因。一般是在将表读入内存时,应用where子句中对该表的限制条件。 SQL 执行的步骤 解析:安全性检查,语法检查; 创建:评估多个执行计划,并选择一个最优的执行计划; 执行:捆绑变量,执行已经创建的执行计划; 获取:获取结果集,进行转换,排序等; 索引访问方式 索引范围扫描:指从索引中读取多个rowid,是最常见到的方式; 单个索引扫描:指从索引中读取一个单独的rowid; 降序索引范围扫描:指按降序的方式从索引中读取多个rowid; 导致排序的操作 Order by 子句 Group by 子句 Select distinct 子句 Union 或 minus 操作 优化器调用sort merge join 操作 创建索引 SQL优化器 概念:是一个为所有的sql语句创建执行计划的工具。 目的:生成最快的,消耗资源最少的执行计划。 两种优化器:基于规则的优化器(RBO),基于成本的优化器(CBO)。 优化器模式 Rule 模式:完全基于数据字典生成执行计划;最古老、比较稳定; Choose 模式:默认的优化器模式。根据统计数据的存在与否确定调用哪一个优化器; First_rows 模式:基于成本的优化器模式,以最快的速度返回记录; All_rows 模式:基于成本的优化器模式,确保总体时间最短,使用的资源最小; 设置优化器模式的方法 参数 optimizer_mode = rule/choose/all_rows/first_rows; 在会话层使用alter session set optimizer_goal= rule/choose/all_rows/first_rows; 在SQL中添加提示/*+ rule/all_rows/first_rows */ 设置choose模式时候,将根据是否存在表或索引的统计资料来决定选择RBO或CBO; 第二部分 SQL 调整 SQL 调整的目标 去掉不必要的大表全表扫描; 缓存小表全表扫描; 尽量使用主机变量代替直接量,减少SQL语句的解析时间; 优化索引的使用; 优化表连接方法; 优化子查询; 常见可能导致全表扫描的操作 使用null条件的查询:where xxx is null; 对没有索引的字段查询; 带有like条件的查询:whe
您可能关注的文档
- m1ev电动车销售培训材料.ppt
- mapgis土地利用规划管理信息系统培训.ppt
- mapgis平台培训教程.ppt
- loctite乐泰焊锡膏技术培训.ppt
- mit车险系统培训资料.ppt
- mtk平台手机硬件培训.ppt
- mtp-经典中层管理人员培训课程.ppt
- mtp管理才能发展培训.ppt
- m出租电路售后培训.ppt
- n7n9防控知识培训.ppt
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
文档评论(0)