Oracle数据库SQL优化之概述

本文通过具体的案例分享了SQL优化的经验,并提供了实用的脑图资源。文章不仅涵盖了如何从执行计划、I/O、CPU等方面进行优化,还深入探讨了索引的作用及其优化方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL优化是每个后端面试均会碰到的面试题目,怎么回答好这个问题,因人而异。一般毛竹是这么回答的,首先会从执行计划入手,然后看I/O、CPU,再看表关联,说的再详细一点就是全表扫、有没有走索引,或者从业务入手…是不是很业余,很明显答的太泛了,这肯定不是面试官想要得到的结果了。那该怎么回答那,我其实到现在也没有更好的答案,那大家是不是就奇怪了,那本篇到底要干什么,好啦好啦,不卖关子了,当然要分享一点干活啦,那就开始吧。
一、自己整理的SQL脑图
19年那会是从事oracle开发的第三个年头,开始整理了一些东西,其中有个文档已经有90多页,但不便于分享,只好将自己整理的sql优化脑图分享给各位啦,请接招:
在这里插入图片描述

这个图是经过反反复复修改过的,就在刚才还再修改,后续可能还要修改。(PS:偷笑)
二、表达与沟通技巧
是不是又有点懵逼了,毛竹到底要干嘛,不是要说sql优化吗,怎么扯到了沟通技巧。没错没错,先说表达沟通技巧,完了再谈谈怎么回答好这个题目。
表达和漫无目的的闲聊不同,由于期望达到某种目的的表达能力,可分为三个层次:1.条理清晰;2.有说服力;3.有影响力。高效表达的三步法:1.定主题;2.套用框架,快速整理表达思路;3.数据+故事让表达更具说服力。
三、回答问题
上面刚买了点关子,言归正传,套用上面表达技巧,下面谈谈sql优化:
1.主题:sql优化
2.套用框架,那什么框架那,在这里我推荐:问题-原因-解决方案即what-why-how方案;比如:sql优化索引部分(what),每个索引页面中的行都会含有逻辑指针,以便加速检索物理数据(why),不走索引导致全表扫描写法的规避、索引重建等(how)
3.数据+故事,这个需要举具体例子,比如毛竹举个之前优化遇到的例子,有一个查询必须用到每天的抄表数据表,但抄表数据表由于是原始数据,数据量大,表关联当然会导致sql慢,毛竹从业务角度出发,优化了业务,业务表增加一字段并稍微改了存储数据的方式,优化前查询1000条数据需要30s,优化后查询同样1000条数据只需要2s,是不是数据+故事,由于时间有点长了,这个数据可能稍微有点问题,但真的有这么夸张。
四、写在最后
其实本篇题目就叫sql优化概述,所以我也不会说很具体怎么回答这个问题啦,后续我打算从执行计划和统计信息部分着重入手,执行计划部分会更加详细介绍,等执行计划和统计信息讲完后,再来回答这个问题。下篇预告,执行计划,给我几天时间让我好好整理整理思路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值