《5从案例中明白索引是如何让SQL运行飞快.pdf》由会员分享,可在线阅读,更多相关《5从案例中明白索引是如何让SQL运行飞快.pdf(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 基于案例学SQL优化第5周 从案例中明白索引是从案例中明白索引是如何让如何让SQL运行飞快运行飞快 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 法律声明【声明】本视频和幻灯片为炼数成金网络课程的教学资料,所有资料只能在课程内使用,丌得在课程以外范围散播,违者将可能被追究法律和经济责任。课程详情访问炼数成金培训网站 http:/ 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 当前课程进度 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引知识要点概述 基
2、于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引知识要点概述 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引的SQL优化落地 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 开始经典三大特性学习 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引的结构图 这这就就是是索索引引的的结结构构图图 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引查询示例图 这这是是索索引引查查询询示示例例图图 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 有奖征答:有奖
3、征答:请问,上述索引的结构是:请问,上述索引的结构是:A.物理结构物理结构 B.逻辑结构?逻辑结构?电信用户编辑短信电信用户编辑短信A或者或者B发送到发送到10000。移动用户编辑短信移动用户编辑短信A或者或者B发送发送10086,答对者参与抽奖,将获得。,答对者参与抽奖,将获得。答案是答案是A还是还是B呢呢?回答回答这个问题之前,先看一个短片:有一天,有一个小朋友无意中听说这个问题之前,先看一个短片:有一天,有一个小朋友无意中听说了有索引这个东东,在好奇的驱使下,自己动手建立了一个索引。了有索引这个东东,在好奇的驱使下,自己动手建立了一个索引。是物理还是逻辑结构 基于案例学SQL优化 讲师
4、梁敬彬 DATAGURU与业数据分析社区 一起探索索引的结构 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 依次将内存中依次将内存中的顺序存放的的顺序存放的列的值和对应列的值和对应的的 rowid 存 进存 进ORACLE 空 闲空 闲的的BLOCK中中,形成了索引块形成了索引块,具体如图所示具体如图所示。一起探索索引的结构 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 当第一个当第一个块装满后块装满后,是啥情况是啥情况呢呢。一起探索索引的结构 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 随着叶子随着叶子块不断增块不断增
5、加加,B1块也装不块也装不下下,于是于是装 入装 入 B2块块,新故新故事开始事开始了了 一起探索索引的结构 根、颈,叶实在存在为L物理结构基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 三大特性开始浮出水面 建索引建好了,现在,大家准备好,屏住呼吸,瞪大眼睛,建索引建好了,现在,大家准备好,屏住呼吸,瞪大眼睛,一起看看老师总结的黄金三大一起看看老师总结的黄金三大特性特性 好戏没在后头,三大特性后还有好戏没在后头,三大特性后还有N多规律背后的妙用,敬请期待!多规律背后的妙用,敬请期待!基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引高度比较低 索
6、引黄金特性索引黄金特性1:索引高度较低。索引高度较低。查目录从上而下基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 高度较低不SQL优化 索引特性之高度较低的学习 脚本:索引特性之高度较低的验证体会 脚本:索引特性之高度较低是优化利器 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引存储列值 索引黄金索引黄金特性特性2:索引存储列值。索引存储列值。索引由列植和rowid组成相当于一个单列值和rowid列的二列表基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 存储列值不SQL优化 索引特性之存储列值的学习 脚本:索引特性之存列
7、值优化count 脚本:索引特性之存列值优化sum avg 索引不会存储空值,要用索引列时加上not null基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引本身有序 索引黄金索引黄金特性特性3:索引索引本身有序。本身有序。基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 本身有序不SQL优化 索引特性之本身有序的学习 脚本:索引特性之有序优化order by 脚本:索引特性之有序与存列值优化max 脚本:索引特性之有序优化distinct 脚本:索引特性之有序难优化union 索引特性:快速返回少许记录而不是所有记录cpu的cost才是最终cbo
8、选择执行计划的依据基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 回表不聚合因子 回表不聚合因子学习 脚本:回表是索引优化的要点之一 脚本:聚合因子也是索引优化要点 聚合因子越小性能越好基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 组合索引的学习 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 组合索引的优化结论 组合索引的研究学习 脚本:组合索引的优化技巧与总结 1.适用在单独查询返回很多,组合查询返回很少。2.组合查询的组合顺序,要全面考虑单列查询情况 3.仅等值无范围查询时,组合索引顺序不影响性能 4.组合索引最佳顺序一
9、般是将列等值查询的列置前。5.注意组合索引与组合条件中关于IN 的优化 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引相关优化案例 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 三大特性相关案例 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 三特性相关案例学习 三大特性相关案例学习 脚本:啥时分区索引性能反而低 脚本:同时取最大最小值的案例 脚本:分区表各类聚合优化玄机 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 组合索引的经典案例 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据
10、分析社区 组合索引案例学习 组合索引的经典案例学习 脚本:组合索引需考虑单列索引 脚本:组合索引与排序相关细节 脚本:组合查询和in有关的优化 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 本周课程延伸总结 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引执行计划的关键字 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引执行计划关键字学习 索引执行计划关键字学习(上)脚本:01.INDEX RANGE SCAN 脚本:02.INDEX UNIQUE SCAN 脚本:03.TABLE ACCESS BY USER ROW
11、ID 脚本:04.INDEX FULL SCAN 基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 索引执行计划关键字学习 脚本:05.INDEX FAST FULL SCAN 脚本:06.INDEX FULL SCAN(MINMAX)脚本:07.INDEX SKIP SCAN 脚本:08.TABLE ACCESS BY INDEX ROWID 索引执行计划关键字学习(下)基于案例学SQL优化 讲师 梁敬彬 DATAGURU与业数据分析社区 炼数成金逆向收费式网络课程 Dataguru(炼数成金)是与业数据分析网站,提供教育,媒体,内容,社区,出版,数据分析业务等服务。我们的课程采用新兴的互联网教育形式,独创地发展了逆向收费式网络培训课程模式。既继承传统教育重学习氛围,重竞争压力的特点,同时又发挥互联网的威力打破时空限制,把天南地北志同道合的朋友组织在一起交流学习,使到原先孤立的学习个体组合成有组织的探索力量。并丏把原先动辄成千上万的学习成本,直线下降至百元范围,造福大众。我们的目标是:低成本传播高价值知识,构架中国第一的网上知识流转阵地。关于逆向收费式网络的详情,请看我们的培训网站 http:/ DATAGURU专业数据分析网站 FAQ时间 35