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

Oracle之提高PLSQL的执行性能

目录

1、SQL解析详解

2、演示示例    

3、启用Oracle跟踪事件

4、查看改造后SQL性能对比结果


更多技术干货,关注个人博客吧


1、SQL解析详解


SQL解析是数据块处理SQL语句不可缺少的步骤,是在解析器中执行的。将SQL转换成数据库可以执行的低级指令。

SQL解析分为硬解析和软解析。

硬解析一般是数据库第一次执行,在共享池池中没有发现过执行的历史,如果SQL发生语法变动或者修改,都会触发硬解析。会对SQL进行完全解析。包括语法分析、语义分析,生成新的执行计划。

主要的步骤:
语法分析:检查SQL的语法是否正确。
语义分析:检查SQL是否正确。比如table是不是存在、用户是不是授权等。
优化:重新生成新的执行计划。
执行计划缓存:将执行计划缓存。如果下次重新执行该SQL会重复使用。不用再次生成新的执行计划。

软解析:
软解析是历史执行过该SQL,已经在共享池shared pool 存在,不用重新生成新的执行计划。而是使用共享池中的执行计划。

主要的步骤:

查询缓存:在共享池中查找该SQL或者过程块,是不是已经存在共享池中。
使用缓存的执行计

http://www.lryc.cn/news/492631.html

相关文章:

  • [VSCode] vscode下载安装及安装中文插件详解(附下载文件)
  • PHP中类名加双冒号的作用
  • 前端编程训练 异步编程篇 请求接口 vue与react中的异步
  • 【kafka03】消息队列与微服务之Kafka 读写数据
  • 【分布式系统】唯一性ID的实现
  • 哪里能找到好用的动物视频素材 优质网站推荐
  • SRAM芯片数据采集解决方案
  • 【贪心算法第七弹——674.最长连续递增序列(easy)】
  • [AI] 知之AI推出3D智能宠物:助力语言学习与口语提升的新选择
  • Android 14之HIDL转AIDL通信
  • 【R库包安装】R库包安装总结:conda、CRAN等
  • 学习PMC要不要去培训班?
  • 前端 用js封装部分数据结构
  • cocoscreator-doc-TS:目录
  • 理解Java集合的基本用法—Collection:List、Set 和 Queue,Map
  • IOC容器实现分层解耦
  • Flutter 共性元素动画
  • K8s内存溢出问题剖析:排查与解决方案
  • 乌班图单机(不访问外网)部署docker和服务的方法
  • 使用 pycharm 新建使用 conda 虚拟 python 环境的工程
  • Docker的save和export命令的区别,load和import的区别 笔记241124
  • 通俗理解人工智能、机器学习和深度学习的关系
  • 使用 pycharm 新建不使用 python 虚拟环境( venv、conda )的工程
  • 【大数据学习 | Spark-SQL】SparkSQL读写数据
  • AI赋能公共服务转型升级 | 第十届中国行业互联网大会暨腾讯云TVP行业大使三周年庆典公共服务专场圆满举办!
  • 关于按天切割Tomcat的catalina.out日志文件的配置
  • 【人工智能】深入解析GPT、BERT与Transformer模型|从原理到应用的完整教程
  • 彻底理解如何保证ElasticSearch和数据库数据一致性问题
  • 2024-2025热门留学趋势
  • 寻找视频特效素材的优质网站推荐 轻松提升作品魅力