关于Oracle-SQL语句性能优化
相信许多从事几年的开发人员都有过一些经验,相对于刚出来的毕业生而言,对于同种操作sql结果,他们的代码性能会更高一些。虽然本人还是个实习生,在这还是写写自己对sql优化问题的理解。
sql优化,无非就是减少访问次数,给编译器更明确的命令,不要让编译器“做”的太多。
1、避免使用多表关联。
2、避免使用‘*’。这样查询效率相当低,尽量在查询时点明你要查询的列,使用别名能够加快解析速度。
3、用EXISTS替代DIstinct
4、用union-all替代union
5、自动选择索引。如果表中有两个以上(包括两个)索引,其中有唯一性索引,而其他是非唯一性。在这种情况下,oracle将使用 唯一性的索引而完全忽 略非唯一 性的索引。
6、如果索引是建立在多个列上, 只有在它的第一个列(leading column)被where子句引用时,优化器才会选择使用该索引.
很明显, 当仅引用索引的第二个列时,优化器使用了全表扫描而忽略了索引
7、避免在索引列上使用函数
8、尽可能少使用前置统配符。他会全表扫描。
9、针对于索引列上,尽可能不使用not否定和列自动转换,后者
SQL> create table multiindexusage ( inda number , indb number , descr varchar2(10));Table created.SQL> create index multindex on multiindexusage(inda,indb);Index created.SQL> set autotrace traceonlySQL> select * from multiindexusage where inda = 1; #根据索引搜索select * from multiindexusage where indb = 2; #忽略索引
虽然可以实行,但是低效,因为这里索引的作用消失了。
10.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原 理, 当在WHERE子句中有多个表联接时,WHERE子句中排 在最后的表应当是返回行 数可能最少的表。
11.尽量使用where语句替代having语句。因为后者是检索完后才过滤。
转载于:https://www.cnblogs.com/cailijia52o/p/7828062.html
关于Oracle-SQL语句性能优化相关推荐
- Oracle SQL语句性能优化方法大全
下面列举一些工作中常常会碰到的Oracle的SQL语句优化方法: 1.SQL语句尽量用大写的: 因为oracle总是先解析SQL语句,把小写的字母转换成大写的再执行. 2.选择最有效率的表名顺序(只在 ...
- SQL语句性能优化--LECCO SQL Expert
SQL语句的优化是将性能低下的SQL语句转换成目的相同的性能优异的SQL语句. 人工智能自动SQL优化就是使用人工智能技术,自动对SQL语句进行重写,从而找到性能最好的等效SQL语句. 数据库性能的优 ...
- 52条SQL语句性能优化策略
本文会提到 52 条 SQL 语句性能优化策略. 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引. 2.应尽量避免在 WHERE 子句中对字 ...
- sql加上唯一索引后批量插入_阿里大佬总结的52条SQL语句性能优化策略,建议收藏...
你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 cnblogs.com/SimpleWu/p/9929043.html 推荐:h ...
- 【MySQL】47 条SQL语句性能优化策略
本文会提到 47 条 SQL 语句性能优化策略. 1. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引. 2. 应尽量避免在 WHERE 子句中 ...
- 52条SQL语句性能优化策略,建议收藏
点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Promise yourself to be so strong ...
- 52条 SQL 语句性能优化策略全面解析,你知道多少种?建议收藏!
点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Don't always in the memories of t ...
- oracle sql语句常用优化方法
oracle sql语句常用优化方法 最近做一些报表查询,经常做一些小优化,在这里总结一下 语句上的优化: 1.SELECT 语句中避免使用*,用那些字段就摘出哪些. 2.SQL语句尽量用大写: 因为 ...
- Oracle sql语句简单优化
一.操作符优化: 1.IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格.但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不 ...
- 建议收藏 | 全面解析 50+条 SQL 语句性能优化策略
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 来源:r6d.c ...
最新文章
- [摘录]第二部分 战略决策(2)
- 李飞飞获全球最权威女性领导力奖 Athena Award,讲述推动AI多元化三大原因(视频)...
- 大牛讲堂 | 邬书哲:物体检测算法的革新与传承
- Halcon 记录1
- mysql升级5.5
- centos7,google身份验证
- php能转换音频采样率吗,音频采样频率怎么设置-音频采样率转换软件下载
- python类型转换astype时间_Pandas数据类型转换的几个小技巧
- Java Integer类
- 小强地狱(Bug Hell)——优先级和缺陷修改的平衡
- 深度卷积神经网络是什么,卷积神经网络结构设计
- Windows10 mysql解决MySQL服务无法启动 系统出错 发生系统错误 1067
- Pixhawk原生固件PX4之常用函数解读
- 基于Qt的音乐播放器(二)切换歌曲,调节音量,调节语速,暂停
- 使用Java定义一个动物类
- Failed to execute tools\android.bat:分分钟解决!网上千篇一律,解决不了?看看这篇!
- Android常用加密解密实现方式
- 信息学竞赛复赛备考策略
- 烟气脱硫技术及工艺流程超全剖析
- 微信小程序-体育场馆场地预约系统
热门文章
- 你离Python大神就差这课树了!建议收藏|Python技能树测评
- java中static修饰函数_详解java中static关键词的作用
- rest api是什么_如何选择合适的API测试工具
- linux ping不允许的操作,Alpine ping:不允许操作
- 服务器网卡有什么作用,服务器网卡的作用
- Spring笔记001 Spring容器的基本实现—— Spring的结构组成
- Eclipse日常踩坑记录——导入文件时遇到的几个问题
- 大数据营销案例沃尔玛_实现大数据营销的方式有哪些
- gvim 命令行粘贴_vim-如何在光标所在的行中粘贴?
- javascript动态字母