oracle的sql也是遵循几点原则
1.能用oracle自带函数,或者用他的函数可以实现的效果,尽量用oracle的函数,因为他的函数的算法和实现函数的语言都是效率非常高的,一般情况下比我们写的要高效。
2. sql的关键字都大写,因为oracle 再执行sql时,会把所有的sql 转换为大写来执行
3.select 句子中最好不要出现* ,要写具体的列名,不然 oracle会一次解析每个字段,费时。
4.from 的表,如果是一张或者两张表,把条数最少的放在后面,如果是三张以上,把和其他有交叉的表的放在后面,所谓交叉,就是和其他表有关联的的意思,因为oracle的扫描是从下网上从右往左,这样 的结果是可以尽量的少扫描表,
5.where 把可以过滤掉多条数据的条件往后放,一次类推
6.删除重复记录的最好办法是用rowid
7.使用decode函数减少 处理时间
8.用truncate table表明 代替delete from表名,因为第一个会删除表所对应的表空间
9.用where过滤,少用having过滤
10.使用表的别名也可以提高效率
11.用 EXISTS 替代 IN 、用 NOT EXISTS 替代 NOT IN :
12.使用索引来提高查询效率,但是索引建立的时候很有将就,并不是每个字段都建立,那样反而会降低效率
13.用 EXISTS 替换 DISTINCT
14.避免在索引上使用计算那些函数
15.用>= 来代替> ,因为有个确切的边线,可以让oracle跟好的确定边线
16.避免在索引列上用not ,因为这回让索引失效,也要避免使用is null ,is not null 操作
17.用union来代替 or 操作,如果可以的话
18.用in 代替or ,如果可以的话
19.用union all 代替 union ,如果可以的话 ,因为union 要去除重复的列,还要排序,费时
20.where句子中把过滤掉数据最的条件放在最后,一次往前罗列,因为oracle的检索顺序是从下网上,从右往左,
21. 对于以上的操作都没什么 疑问的话,那就要借助plsql 这样的开发工具,去查看我们 写的sql 的解释执行计划,这个才是最后敲定你的sql 效率的依据,
22.在oracle上 尽量不要使用hints提示,因为我们的表 始终在变,可能目前你的效果很有效,但是随着每个表的数据的变化,并不保证你的sql 始终都是高效的
分享到:
相关推荐
**吴海存**,作为 Oracle Cloud 团队的一名内部支持 DBA,负责 RAC、DG、性能调优、备份/恢复、打补丁和升级、Exadata/Exalogic 的维护及调优等工作。拥有以下认证: - Oracle 11g OCM - Oracle 10g OCM - Oracle ...
2. 故障排查步骤:如何通过SQL查询或Oracle提供的工具来检查当前的进程状态。 3. 解决方案实例:提供具体的SQL语句或操作步骤来解决问题。 4. 预防措施:介绍如何通过优化配置、应用设计或监控策略来防止类似问题的...
2017年存储技术变革与发展的趋势.pdf
毕业论文-qing游戏风格 商业版(GBK)-整站商业源码.zip
实训商业源码-效能-毕业设计.zip
平台跳跃游戏的核心魅力在于重力与控制的精妙平衡。本文将构建角色运动的微分方程模型,解析空中机动算法,并揭示关卡设计中的隐式引力场理论,展现2D平台游戏背后的复杂物理模拟系统。
实训商业源码-签到工具-毕业设计.zip
nsync///////
实训商业源码-票务高级版4.2.9-毕业设计.zip
运算符重载函数(友元函数).cpp
ABAQUS模型定义.pdf
FreeRTOS计数信号量的使用,模拟停车场运行逻辑
毕业论文-方熊表单V1.0.0 开源版-整站商业源码.zip
毕业论文-多商户线下积分商城会员群发V2.5.11 原版-整站商业源码.zip
实训商业源码-新材料-毕业设计.zip
毕业论文-活码自动进群V1.0.0 开源版-整站商业源码.zip
毕业论文-红包拓客生意宝2.0.3 开源版-整站商业源码.zip
Baidunetdisk_AndroidPhone_1023843j (6).apk
【研华科技】以数智融合打造可持续管理的企业未来.pdf
毕业论文-老虎-微信淘宝客6.0.3+老虎-团队合伙人系统2.99.83-整站商业源码.zip