Oracle培训(人力资源部)-.ppt
《Oracle培训(人力资源部)-.ppt》由会员分享,可在线阅读,更多相关《Oracle培训(人力资源部)-.ppt(56页珍藏版)》请在咨信网上搜索。
1、Oracle培训培训2024/5/21 周二2024/5/21 周二12比较常见的一些问题写SQL的时候表顺序调整有区别吗?查询条件的书写有先后顺序吗?系统中的SQL之前执行都没问题,最近执行很慢怎么回事?我的系统发生内存溢出,跟数据库有没有关系?应用怎么会产生锁堵塞?我的系统存在数据库连接泄漏怎么办?表数据量很大怎么办?2024/5/21 周二23Oracle体系结构2024/5/21 周二34Oracle体系结构2024/5/21 周二45数据库调优的手段最初级的数据库调优是硬件级别的调优数据库的硬件设计第二个级别的数据库性能调优是数据库系统本身数据库的设计第三个级别的数据库性能调优是模式
2、和实物级别的软件设计对数据库的影响2024/5/21 周二56优化重点表空间存储设计索引和SQL重写分区表2024/5/21 周二67磁盘以及分割提高磁盘访问性能技术就是并行利用多个磁盘在设备之间散布数据的方法称为“数据分割”分割方法:硬件分割、操作系统分割以及数据库分割2024/5/21 周二78RAID 0一系列磁盘之间的简单分割,条块化数据使用循环方式写入磁盘改进读取访问效率,但是可靠性差b5b3b1b6b4b22024/5/21 周二89RAID 1引入镜像提高可靠性,每个块被存储两次存储空间只有一半,可靠性高b3b2b1b3b2b12024/5/21 周二910RAID 5奇偶校验分
3、布在磁盘之间可靠性高Stripe 4 parityb7b4b1Stripe 3 parityb5b2b8Stripe 2 parityb3b9b6Stripe 1 parity2024/5/21 周二1011RAID 1+0镜像和分割可靠性高b5b3b1b5b3b1b6b4b2b6b4b22024/5/21 周二1112Oracle访问表的方式全表扫描索引扫描(通过RID访问表)2024/5/21 周二1213B+树索引B+树索引是Oracle数据库的基本索引方法优点是快速访问,动态维护一个B+树有一层或多层,顶层称为根节点,底层由叶节点组成,根节点层和叶节点层之间的那些层称为中间节点。每个非
4、叶子节点包含p个指针和p-1个关键数值每个叶子节点包含3个重要内容:关键数值、记录标识符和下一个叶子节点指针2024/5/21 周二1314B+树索引2153927285(53,rid)(59,rid)(64,rid)(71,rid)(72,rid)(80,rid)5997374425(56,rid)(57,rid)(83,rid)根节点中间节点页节点2024/5/21 周二1415B+树索引B+树的顺序是4,高度为3p表示B+树的顺序高度是指叶子节点的层次2024/5/21 周二1516确定B+树的顺序和高度实例假设数据库拥有50万行记录,每行记录200个字节,每个搜索关键数值为15字节,数
5、据指针为5字节,索引节点为1024字节。非叶节点 p5+(p-1)15=1024(p-1)=50叶节点 (p-1)*(15+5)+5=1024(p-1)=50ph Nn=500000 p=50h3.35或h=42024/5/21 周二1617开销估算查询数据=h+1块数据访问更新数据=搜索开销+重写数据块=(h+1)+1插入数据=检索开销+重写数据块+重写索引块=(h+1)+1+1删除数据=检索开销+重写数据块+重写索引块=(h+1)+1+12024/5/21 周二1718开销估算实例实例插入关键值77插入开销=检索开销+重写数据块+重写索引块+拆分重写 =(h+1)+1+1+2=8块访问对于
6、百万级记录的大规模更新操作,插入和更新操作采用批处理方式2024/5/21 周二1819复合索引开销实例假设有一个大型商业机构有1000万行客户订单记录,每条记录有客户名称、客户编号、地址、城市、邮编、电话、总订购费用属性。假设每条记录250个字节,数据库每个块大小5000个字节,指针长度为5个字节;复和键为职位、城市和总订购费用,长度为35字节。(假设磁盘传速度320MB/秒,评价转速延迟是2ms)SELECT empNo,empName,empAddress,empPhone,empEmailFROM customer WHERE jobTitle=software engineerAND
7、 city=Chicago and totalPur 1000;假设检索结果是假设检索结果是750条记录条记录p5+(p-1)35=5000p=125 log10000000/log125h=4750个目标行指针的块数个目标行指针的块数=75035/5000=6块块访问块消耗时间访问块消耗时间=2毫秒旋转延迟毫秒旋转延迟+转换时间转换时间=2+5000/320/1024/1024=2.02ms查询开销查询开销=复合索引检索开销复合索引检索开销+目标记录指针检索目标记录指针检索+最终数据访问最终数据访问=h+6+750=4+6+750查询查询I/O时间时间=7542.02+6(5000/320/
8、1024/1024)=1.52s2024/5/21 周二1920全表扫描开销实例预提缓存为预提缓存为64KB预提缓存的预提缓存的I/O操作数操作数=10000000250/64KB=38147查询时间查询时间=38147(2+64KB/320MB)=38147(2ms+19ms)=83.5秒秒2024/5/21 周二2021索引的经验规则(一)规则一:索引数据库中的每个主键和大多数外键利用主键(或唯一索引)的查询,性能随数据量增长不会发生很大的改变;主键所采用列应该认真考虑。2024/5/21 周二2122索引的经验规则(二)规则二:在SQL的where条件中被经常使用的属性是潜在的好的索引候
9、选项。根据查询SQL的谓词部分来设计;找到“切入点”,搜索条件很重要;2024/5/21 周二2223索引的经验规则(三)规则三:创建能让多数查询都能带来收益的复合索引。多列组合索引可以非常有效的执行特定复杂查询;组合索引减少了多个单个索引检索造成的大量排序和合并操作,额外的列有助于执行跨表连接操作;考虑WHERE从句中被引用到的列,令非匹配访问的谓词也能受益;也可以考虑把 SELECT 从句中的所有列也加上,使查询成为只使用索引的访问方式;2024/5/21 周二2324索引的经验规则(四)规则四:创建索引的键顺序按照列的基数降序排列;假定列对应的基数分别是 CARD(COM_ID)=100
10、0,CARD(CRT_DATE)=2000,CARD(CUST_ID)=1500。那么我们设计出的索引键的顺序应为:(CRT_DATE,CUST_ID,COM_ID)。2024/5/21 周二2425索引的经验规则(五)规则五:把 GROUP BY 和 ORDER BY 从句中的所有列加到索引中,可以减少访问计划中的排序操作2024/5/21 周二2526索引的经验规则(六)规则六:避免或删除冗余的索引,如非所需请勿增加索引。SQL的编写应该考虑表上存在的索引,复杂SQL建议改写;索引能提高部分SQL的查询性能,但也会相应降低insert性能,也有可能降低部分SQL查询性能;所以考虑表上的索引
11、不要太多;2024/5/21 周二2627索引的经验规则(七)规则七:函数会导致索引失效|是字符连接函数+是数学函数2024/5/21 周二2728一些不推荐的SQL写法参照浪潮烟草V6系统设计总体要求与基本规范V1.0 2024/5/21 周二282930Oracle优化器RBO,基于规则CBO,基于成本CHOOSE,选择性2024/5/21 周二3031RBO实例SQL select id,count(*)from t group by id;IDCOUNT(*)-151080 991SQLselect/*+rule*/*from t where id=99;-Plan hash valu
12、e:4013845416-|id|Operation|Name|-|0|SELECT STATEMENT|1|TABLE ACCESS BY INDEX ROWID|T|*2|INDEX RANGE SCAN|IND_T|2024/5/21 周二3132RBO实例SQLselect/*+rule*/*from t where id=1;-Plan hash value:4013845416-|id|Operation|Name|-|0|SELECT STATEMENT|1|TABLE ACCESS BY INDEX ROWID|T|*2|INDEX RANGE SCAN|IND_T|2024/
13、5/21 周二3233连接方法嵌套循环连接对于外部表中的每个被存取的行,扫描内部表:例如:外部表T1:列A内部表T2:列A23323231执行嵌套循环连接,数据库管理器执行下列步骤:1、从T1中读取第一行。A的值是“2”2、扫描T2,直到发现一个匹配项(”2”),然后连接这两行3、扫描T2,直到发现下一个匹配项(”2”),然后连接这两行4、扫描T2,直至该表结尾5、返回至T1,并读取下一行(”3”)2024/5/21 周二3334连接方法嵌套循环连接6、从第一行开始,扫描T2,直到发现匹配项(”3”),然后连接这两行7、扫描T2,直到发现下一个匹配项(”3”),然后连接这两行8、扫描T2,直至
14、该表结尾9、返回至T1,并读取下一行(”3”)10、像之前一样扫描T2,连接匹配(“3”)的所有行。2024/5/21 周二3435嵌套循环连接实例表大小250行,每条记录200字节块大小4KB预取缓冲池大小64KB缓存数=250200/64KB=1项目表任务分配表表大小50000行,每条记录200字节块大小4KB预取缓冲池大小64KB缓存数=50000100/64KB=77Select p.projectName,p.projecLeader,a.empId FROM project as p,assignedTo as aWHERE p.projectName=a.projectName;
15、P做外部表连接I/O时间:=(1缓存+250扫描77缓存)5.8毫秒=117.4秒A做外部表连接I/O时间:=(77缓存+50000扫描1缓存)5.8毫秒=290.4秒硬盘平均寻址时间3.6ms,平均转速延迟是2ms,传送速度320MB/s2024/5/21 周二3536块嵌套连接实例表大小250行,每条记录200字节块大小4KB预取缓冲池大小64KB缓存数=250200/64KB=1项目表任务分配表表大小50000行,每条记录200字节块大小4KB预取缓冲池大小64KB缓存数=50000100/64KB=77Select p.projectName,p.projecLeader,a.empI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 培训 人力资源
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。