`

sql优化--识别’低效执行’的SQL语句

 
阅读更多
oracle中有两个重要的视图:-v$SQL和v$SQLAREA。
(一)-v$SQL中记录的信息和AUTOTRACE显示的信息完全一致。视图包含如下字段信息:


第一次执行一个查询'select count(*) from emp'后查询-v$SQL视图可得到
select sql_text,executions,disk_reads,optimizer_mode,buffer_gets,hash_value
from v$sql where sql_text='select count(*) from emp'

再次执行询'select count(*) from emp'这个查询,统计信息中的物理读(DISK_READS)不再增加,因为数据已经在Buffer中存在,而BUFFER_GETS继续增加。执行次数也变为2次。

(二)v$sqlarea列出了共享SQL区(Shared SQL Area)中的SQL统计信息,这些SQL按照SQL文本的不同,每条会记录一行统计数据。注意这里所说的是“按照SQL文本”来进行区分,也就是说这个视图的信息可以看作是根据SQL_TEXT进行的一次汇总统计。视图包含如下字段信息:

执行如下sql即可定位到低效率的sql语句。
SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
  
   ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
  
   ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
  
   SQL_TEXT
  
  FROM V$SQLAREA
  
  WHERE EXECUTIONS>0
  
  AND BUFFER_GETS > 0
  
  AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8
  
  ORDER BY 4 DESC;


*文本相同的SQL语句,在数据库中的意义可能完全不同。如数据库中存在两个用户scott和dmuser,两个用户各拥有一张数据表EMP。在不同用户情况下同样执行'select count(*) from emp'语句。查询-v$SQL视图时,由于各自查询的物理对象截然不同,对应生成两条记录;查询v$sqlarea视图,由于sql_text相同,生成一条记录。
  • 大小: 13.7 KB
  • 大小: 51.4 KB
  • 大小: 51.8 KB
分享到:
评论

相关推荐

    SQL优化 SQL优化软件 SQL优化工具

    1. **查询分析**:这些工具能够分析SQL语句的执行计划,指出可能存在的问题,如不必要的全表扫描、排序操作过多或使用了低效的索引等。 2. **性能监控**:实时监控数据库的性能指标,如CPU使用率、I/O等待时间、...

    收获,不止SQL优化--抓住SQL的本质

    1. **查询优化**:SQL语句的编写直接影响到查询效率。优化查询包括合理使用索引、避免全表扫描、减少子查询、正确使用JOIN操作以及避免使用NOT IN和OR等低效运算符。 2. **索引策略**:索引是提高查询速度的关键。...

    18 SQL优化--查询的优化.doc

    本文档将详细介绍如何通过分析SQL语句执行情况来优化查询效率,包括如何利用MySQL的状态变量来评估查询行为,以及如何定位并解决低效SQL语句。 #### 二、使用`SHOW STATUS`命令获取SQL执行频率 通过`SHOW STATUS`...

    SQLAdvisor-2.0.tar.gz

    通过深入解析SQL语句,它可以识别出可能影响性能的因素,如不恰当的索引使用、过度复杂的查询结构或者低效的JOIN操作等。 SQLAdvisor的主要功能包括: 1. **SQL诊断**:此功能可以分析SQL语句的执行计划,检查是否...

    sql-optimizer-for-sql-server_1001官方试用版+安装手册+使用教程

    2. 优化建议:根据分析结果提供优化建议,包括修改SQL语句、创建或调整索引等。 3. 性能监控:实时监控数据库性能,帮助用户发现并解决性能问题。 4. 代码生成:可能与"Database2Sharp"工具结合,自动产生优化后的...

    通过分析SQL语句的执行计划优化SQL语句

    通过以上方法,我们可以根据SQL语句的执行计划来识别性能瓶颈,进而优化SQL,提高系统整体性能。实际操作中,需要结合具体数据库系统的特点和业务需求,灵活运用这些技巧。对于大型项目,建立一套完善的SQL性能监控...

    oracle查看执行最慢与查询次数最多的sql语句

    通过分析这些数据,DBA可以识别出频繁执行且性能低效的SQL语句,进而采取优化措施,如调整索引、重构SQL语句或优化应用程序代码。在某些情况下,可能需要与开发团队合作,以确保业务逻辑的合理性。 总之,监控和...

    如何使用AWR报告发现低效的SQL

    AWR报告能够帮助数据库管理员(DBA)了解和分析系统在一段时间内的资源使用情况,从而诊断性能问题,特别是那些由低效SQL语句引起的性能问题。据统计,约90%的数据库性能问题都与低效的SQL有关。因此,掌握如何利用...

    Oracle 11g-SQL-优化

    而在数据库性能优化方面,SQL优化是极其重要的一环,它关注的是如何提高SQL语句的执行效率,减少数据库的资源消耗。 首先,为了进行有效的SQL优化,我们需要了解性能优化的基本概念。性能优化通常指的是调整数据库...

    SQL优化工具下载,语句优化

    首先,SQL优化工具是专门设计用来帮助数据库管理员和开发人员识别和改进低效SQL查询的软件。这些工具通过分析SQL语句、执行计划和系统资源使用情况,提供性能瓶颈的洞察,并给出改进建议。例如,它们可以检测到冗余...

    数据库优化--sql优化

    2. 定位会话:识别出哪些会话正在执行低效的SQL语句。 3. 分析SQL执行计划:利用数据库工具如EXPLAIN PLAN,查看SQL的执行路径,理解其资源消耗情况。 4. 改进执行计划:可能包括重写SQL、添加索引、调整表结构等...

    Top-SQL Tuning SQL语句调整

    - **评估SQL语句执行效率**:通过`EXPLAIN PLAN`、`SQL Trace`和`TKPROF`、`SQL*Plus AUTOTRACE`以及`Oracle SQL Analyze`等工具,可以深入了解SQL语句的执行计划,识别出性能瓶颈。 - **基于成本的优化(Cost-...

    使用ORACLE SQL Tuning advisor快速优化低效的SQL语句

    使用ORACLE SQL Tuning advisor快速优化低效的SQL语句, 这里是一个使用范例,有9个步骤, 后面 其他语句,都按照这个步骤来做就可以了。

    oracle-sql优化

    SQL优化涉及多个方面,包括理解SQL语句的处理过程、Oracle优化器的工作原理、执行计划的获取与分析等。 1. **优化基础知识**:性能管理是关键,需要在系统开发初期就开始考虑,并设立明确的性能目标。调整过程中...

    sql.rar_SQL语句_hawk_sql优化

    本资源“sql.rar”包含了“SQL语句_hawk_sql优化”主题,由名为“hawk”的专家或社区成员收集并分享,旨在帮助我们了解和提升Oracle SQL语句的优化技巧。 SQL语句优化是数据库性能调优的关键部分,尤其对于大型企业...

    SQL语句的执行步骤和优化

    ### SQL语句的执行步骤与优化详解 #### 一、SQL语句的执行流程 当在Oracle数据库中执行SQL查询...通过深入了解SQL语句的执行步骤和Oracle的优化机制,可以更有效地识别并解决查询性能问题,从而提高系统的整体性能。

    索引的SQL语句优化

    ### 知识点详解:“索引的SQL语句优化” #### 重要性 在数据库管理中,SQL(Structured Query Language)语句的优化是确保系统高效运行的关键环节。特别是在大型数据库环境中,一次低效的SQL查询可能会导致整个...

    对数据库中SQL语句的优化技术进行研究——对LECCO SQL Expert的分析与研究.pdf

    通过人工智能技术,该工具能够自动对SQL语句进行重新输入,进而将数据库中的低效SQL语句优化为最优等效SQL语句,以达到性能提升的目的。 总体而言,本文强调了数据库性能优化的必要性和SQL语句优化的重要性,并详细...

    SQL Tuning Advisor使用总结

    通过自动化的诊断过程,STA能够帮助数据库管理员(DBA)识别出低效的SQL语句,并提供改进建议。本文将详细介绍如何利用SQL Tuning Advisor来提高SQL语句的执行效率,包括从Automatic Workload Repository (AWR)、...

    SQL Server中存储过程比直接运行SQL语句慢的原因

    然而,有时人们发现存储过程的执行速度比直接运行SQL语句要慢,这主要归因于几个因素。 首先,存储过程的编译和缓存机制。存储过程在创建时进行一次性编译,之后的执行会使用已编译的计划,从而避免了每次执行时的...

Global site tag (gtag.js) - Google Analytics