当前位置: 首页 > news >正文

oracle中sql优化读书笔记1-优化器

我们写一条sql语句给Oracle,Oracle是需要将他解析之后才去执行的,也就是要明确先干啥后干啥。这就是所谓的执行计划。

优化器就是用来得出最后的执行计划的工具,Oracle的优化器有两种一种是基于规则的,一种是基于成本的。

1.基于规则的,就是明确了步骤,比如说必须是先把where 条件中最后一个条件用于过滤,再在此基础上用倒数第二个条件过滤。

2.基于成本的,就是先收集一下当前的数据量有多大,各种条件的数据量有多大(这就得有Oracle的统计的东西做支持了),通过判断找出来过滤出最少的数据作为下一次筛选的基础数据。

 

基于规则的就是Oracle做产品的时候已经对不同的查询分了优先级了,到时候肯定是按照优先级去执行的。 这时候可优化的空间就比较小了。

因为他的执行计划难以调整,比如 优化的时候对于dba可能经常用hint去影响执行计划去,基于规则的这里边就很少能用了。

 

在很难里边也总是能优化的吧。文章中列了两条

1.把原有的规则给废掉,例如有两个条件,不知道谁先谁后,两个都是索引键,把其中一个列中加入0值或空格导致索引失效,那么另一个自然就优先了。

2.依据缓存,先调入到内存中的会变旧,甲乙按先后进入,后用的乙,那么到时候执行就先用乙(说的同优先级,不同优先级那肯定还得按规矩来)

 

转载于:https://www.cnblogs.com/hbhzz/p/4060972.html

相关文章:

  • SpringBoot之devtools热部署
  • Web自动化测试框架Watir(基于Ruby) - 第2章 使用Watir写自动化测试脚本
  • JSP 动作元素
  • Git很好的教程
  • 效果逆天的通用语言模型GPT 2.0来了,它告诉了我们什么?
  • [转]页面换肤功能浅析
  • 域名在QQ微信被拦截怎么办 怎么样才能让被微信屏蔽的网址正常访问使用
  • Cocos2dX Android 编译出错
  • 关于Mobius反演
  • 常用的正则表达式
  • 四边形不等式优化-石子合并
  • 机器学习笔记(一)线性回归
  • 【OCP-12c】CUUG 071题库考试原题及答案解析(18)
  • 锋利的jQuery-7--编写插件基础知识
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • 网络传输文件的问题
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Android 控件背景颜色处理
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • js中forEach回调同异步问题
  • Tornado学习笔记(1)
  • windows-nginx-https-本地配置
  • 工作手记之html2canvas使用概述
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 十年未变!安全,谁之责?(下)
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #android不同版本废弃api,新api。
  • #AngularJS#$sce.trustAsResourceUrl
  • #Linux(权限管理)
  • #NOIP 2014#Day.2 T3 解方程
  • $L^p$ 调和函数恒为零
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (二)斐波那契Fabonacci函数
  • (十六)Flask之蓝图
  • (算法)前K大的和
  • (转)Scala的“=”符号简介
  • .gitignore文件---让git自动忽略指定文件
  • .NET 4.0中的泛型协变和反变
  • .net core Swagger 过滤部分Api
  • .NET Framework .NET Core与 .NET 的区别
  • .NET Micro Framework初体验
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • /proc/vmstat 详解
  • @Autowired自动装配
  • @property python知乎_Python3基础之:property
  • @Responsebody与@RequestBody
  • [ vulhub漏洞复现篇 ] GhostScript 沙箱绕过(任意命令执行)漏洞CVE-2019-6116
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)