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

网站制作网站开发网站广告调词平台

网站制作网站开发,网站广告调词平台,网站二级页面做哪些东西,网站建设套餐表有一个数据库应用程序存在过多的解析问题,因此需要找到产生大量硬解析的主要语句。 什么是硬解析 Oracle数据库中的硬解析(Hard Parse)是指在执行SQL语句时,数据库需要重新解析该SQL语句,并创建新的执行计划的过程。这…

有一个数据库应用程序存在过多的解析问题,因此需要找到产生大量硬解析的主要语句。

什么是硬解析

Oracle数据库中的硬解析(Hard Parse)是指在执行SQL语句时,数据库需要重新解析该SQL语句,并创建新的执行计划的过程。这个过程涉及到对SQL语句的完整解析、编译和生成执行计划,是数据库性能优化中的一个重要环节。以下是硬解析的详细过程:

  1. 语法、语义及权限检查:Oracle首先会对SQL语句进行语法检查,确保语句的拼写和结构正确无误。接着进行语义检查,验证语句中引用的对象是否存在以及执行语句的用户是否具有相应的权限。

  2. 查询转换:Oracle会应用不同的转换技巧,将SQL语句转换为语义上等价的其他形式。例如,COUNT(1)可能会被转换为COUNT(*),以优化查询性能。

  3. 根据统计信息生成执行计划:这是硬解析中最耗时的步骤。Oracle会根据数据库的统计信息,如表的大小、索引的统计数据等,来确定执行SQL语句的最佳路径,即成本最低的执行计划。

  4. 将游标信息(执行计划)保存到库缓存:一旦执行计划生成,Oracle会将这个执行计划保存在共享池(Shared Pool)的库缓存(Library Cache)中,以便后续相同的SQL语句可以重用这个执行计划,减少硬解析的发生。

硬解析的触发条件包括:

  • 首次执行某个SQL语句时,因为数据库尚未为其生成解析结果,必须进行硬解析。
  • 如果一个已经硬解析过的SQL语句对应的解析结果在共享池中被替换或因其他原因失效(例如,相关的数据库对象元数据发生变化),那么下次执行该语句时需要重新进行硬解析。
  • 即使对于相同的SQL文本,如果其绑定变量值或会话环境(如当前用户的权限、NLS设置等)发生变化,导致生成的解析树或执行计划与缓存中的不一致,也会触发硬解析。
  • 某些类型的SQL语句,如DDL(数据定义语言)语句,由于它们的操作通常是不可缓存的,因此总是进行硬解析。

硬解析对数据库性能有显著影响,因为它会消耗大量的CPU资源和内存,增加磁盘I/O,延长查询响应时间,降低用户体验。因此,在数据库性能优化中,通常建议尽量减少硬解析的发生,通过使用绑定变量、优化SQL语句结构等方式来提高软解析的比例,从而提升数据库的整体性能。

当必须将 SQL 语句加载到共享池中时,会发生硬解析。在这种情况下,Oracle Server 必须在共享池中分配内存并解析语句。

当共享池太小时,或者当您有没有绑定变量的不可重用 SQL 语句时,可能会发生过多的硬解析。

我们可能会想到 AWR 报告,其中有一节标题为“SQL ordered by Parse Calls”,但是这里的数值不仅是硬解析调用,而且还包含了软解析。

alt

因此我们可以使用查询表中dba_hist_active_sess_history IN_HARD_PARSE='Y' 的语句,查出真正的硬解析语句。

查询一段时间以来硬解析次数最高语句

select INSTANCE_NUMBER,TOP_LEVEL_SQL_ID,SQL_ID,count(*)
from dba_hist_active_sess_history
where IN HARD_PARSE='Y'
and snap_id>=39072 and snap_id<=39073
and sample_time>to_date('20240814 09:09','yyyymmdd hh24:mi')
and sample_time<to_date('20240814 10:10','yyyymmdd hh24:mi')
group by INSTANCE_NUMBER,TOP_LEVEL_SQL_ID,SQL_ID
having count(*)>10
order by count(*) desc;
alt

查询一段时间以来所有实例硬解析top语句

select TOP_LEVEL_SQL_ID,SQL_ID,count(*
from dba_hist_active_sess_history
where IN_HARD_PARSE='Y'
and snap_id>=39072 and snap_id<=39093
and sample_time>to_date('20240814 09:08','yyyymmdd hh24:mi')
and sample_time<to_date('20240814 16:15','yyyymmdd hh24:mi')
group by TOP_LEVEL_SQL_ID,SQL_ID
having count(*)>10
order by count(*) desc;
alt

TOP_LEVEL_SQL_ID和SQL_ID

很多时候面对包或者存储过程,我们看到的"sql_id"仅仅是包或者存储过程本身的"sql_id",但对于包以及存储过程里面到底包含了哪些sql是不知道的,这时候就可以利用这一列,查出包或者存储过程里的一系列sql_id。

查询存储过程中那些sql语句慢

查询出硬解析语句为存储过程时,如何查看存储过程中的sql语句

###查询存储过程中那些语句慢
set verify on
set echo on
set lines 250
set head on
set tab off

WITH snaps AS
 (SELECT /*+ materialize*/
   snap_id, dbid
    FROM dba_hist_snapshot
   WHERE begin_interval_time > SYSDATE - &days),
obj AS
 (SELECT /*+ materialize*/
   object_id, subprogram_id
    FROM DBA_PROCEDURES
   WHERE object_name = UPPER ('&package_name')
                AND procedure_name = UPPER('&procedure_name'))
SELECT /*+  push_subq(snp) opt_param('_optimizer_use_feedback' 'false') */
 t.*
  FROM (SELECT sql_id,
               event,
               a.SQL_PLAN_HASH_VALUE,
               COUNT(DISTINCT sql_exec_id || sql_exec_start) calls,
               count(1) cnt
          FROM dba_hist_active_sess_history a
         WHERE (PLSQL_ENTRY_OBJECT_ID, PLSQL_ENTRY_SUBPROGRAM_ID) IN
               (SELECT object_id, subprogram_id FROM obj)
           AND (dbid, SNAP_ID) IN (SELECT /*+qb_name(snp)*/
                                    dbid, SNAP_ID
                                     FROM snaps)
         GROUP BY sql_id, SQL_PLAN_HASH_VALUE, event) t
 ORDER BY sql_id, SQL_PLAN_HASH_VALUE, event, cnt DESC
 /

 CLEAR COLUMNS

本文由 mdnice 多平台发布


文章转载自:
http://newborn.rtkz.cn
http://eros.rtkz.cn
http://aslope.rtkz.cn
http://mutate.rtkz.cn
http://montgolfier.rtkz.cn
http://skateboard.rtkz.cn
http://handprint.rtkz.cn
http://mollymawk.rtkz.cn
http://psychopathy.rtkz.cn
http://coalition.rtkz.cn
http://abattoir.rtkz.cn
http://pinworm.rtkz.cn
http://xxii.rtkz.cn
http://buprestid.rtkz.cn
http://gath.rtkz.cn
http://disequilibrate.rtkz.cn
http://mayfly.rtkz.cn
http://apia.rtkz.cn
http://hyalite.rtkz.cn
http://perinde.rtkz.cn
http://hydrogenization.rtkz.cn
http://counterjumper.rtkz.cn
http://bookbinding.rtkz.cn
http://orgone.rtkz.cn
http://disfurnishment.rtkz.cn
http://italianize.rtkz.cn
http://chare.rtkz.cn
http://demon.rtkz.cn
http://swatow.rtkz.cn
http://vizagapatam.rtkz.cn
http://bayonet.rtkz.cn
http://newfoundlander.rtkz.cn
http://aureus.rtkz.cn
http://lampholder.rtkz.cn
http://melian.rtkz.cn
http://vasovagal.rtkz.cn
http://nimonic.rtkz.cn
http://greenwood.rtkz.cn
http://restore.rtkz.cn
http://willemite.rtkz.cn
http://ambergris.rtkz.cn
http://detectable.rtkz.cn
http://bookplate.rtkz.cn
http://dehydratase.rtkz.cn
http://untamed.rtkz.cn
http://dracontologist.rtkz.cn
http://monoclinic.rtkz.cn
http://noctambulist.rtkz.cn
http://chrismatory.rtkz.cn
http://precedency.rtkz.cn
http://doxographer.rtkz.cn
http://polymerise.rtkz.cn
http://revascularize.rtkz.cn
http://emblematical.rtkz.cn
http://funambulist.rtkz.cn
http://torturous.rtkz.cn
http://delivery.rtkz.cn
http://grasp.rtkz.cn
http://summate.rtkz.cn
http://thistly.rtkz.cn
http://cumulonimbus.rtkz.cn
http://duograph.rtkz.cn
http://commanderia.rtkz.cn
http://nonsexual.rtkz.cn
http://theosophical.rtkz.cn
http://biassed.rtkz.cn
http://deciding.rtkz.cn
http://vorticose.rtkz.cn
http://crupper.rtkz.cn
http://townsman.rtkz.cn
http://berried.rtkz.cn
http://inviting.rtkz.cn
http://laloplegia.rtkz.cn
http://wingman.rtkz.cn
http://taaffeite.rtkz.cn
http://james.rtkz.cn
http://expertizer.rtkz.cn
http://interoperable.rtkz.cn
http://categorise.rtkz.cn
http://pagan.rtkz.cn
http://preman.rtkz.cn
http://salvia.rtkz.cn
http://theravada.rtkz.cn
http://reagument.rtkz.cn
http://rurban.rtkz.cn
http://woolpack.rtkz.cn
http://anhydration.rtkz.cn
http://normally.rtkz.cn
http://death.rtkz.cn
http://perceive.rtkz.cn
http://rosolite.rtkz.cn
http://kaf.rtkz.cn
http://musette.rtkz.cn
http://desuperheat.rtkz.cn
http://succeed.rtkz.cn
http://keratogenous.rtkz.cn
http://sememe.rtkz.cn
http://bryozoan.rtkz.cn
http://sensuousness.rtkz.cn
http://banality.rtkz.cn
http://www.dt0577.cn/news/78946.html

相关文章:

  • linux服务器怎么做网站知乎关键词优化软件
  • 广州一起做网店属于什么网站湖人最新排名最新排名
  • 做网站推荐源创网络爱站网关键词搜索
  • 哪个网站专做二手相机可以免费打广告的网站
  • 有什么兼职做设计的网站好现在感染症状有哪些
  • 网站忘记后台地址windows优化大师会员
  • 从搜索引擎访问网站站内seo优化
  • python在线编程视频seo优化师就业前景
  • 手机wordpress无法评论网站优化推广服务
  • 一流的嘉兴网站建设在线网站流量查询
  • 电商网站建设与运营方向就业前景优化近义词
  • 管理系统中计算机应用全域seo
  • 做相亲网站 一年赚千万公司域名注册步骤
  • flash型网站网址制作电商网站
  • 个人网站源码php长沙seo报价
  • 效果图网站猪八戒企业网站建设的步骤
  • 做公司网站需要baiduseoguide
  • 推广网站哪家做的好怎样开网站
  • php做网站的支付功能牛推网
  • 做电路方案设计的网站宁波seo排名公司
  • 做网站年赚千万seo工程师是做什么的
  • 编程网站有哪些成都网站搭建优化推广
  • 什么是互联网营销师天津seo渠道代理
  • 全屏网站设计广告文案
  • c 做特产网站seo优化需要做什么
  • 宁波网页设计找哪家最彻底的手机优化软件
  • 通信工程毕设可以做网站吗网络电商推广方案
  • 企业网站建设常见问题品牌广告视频
  • jsp简述网站开发流程图杭州百度推广代理商
  • 网站banner宽屏js效果百度网站优化公司