ORACLE抓低效的SQL语句[通俗易懂]

ORACLE抓低效的SQL语句[通俗易懂]ORACLE抓低效的SQL语句 转载 ORACLE_FANS 发布于2013-01-19 00:59:14 阅读数 1996 收藏 展开 信息系统访问量又不大,瓶颈一般不会出现在应用层,极有可能在数…

ORACLE抓低效的SQL语句

转载
ORACLE_FANS 发布于2013-01-19 00:59:14 阅读数 1996 收藏
展开

    信息系统访问量又不大,瓶颈一般不会出现在应用层,极有可能在数据库这一层,不用急着看程序。先找出逻辑读取次数最多的SQL,硬盘读取次数最多的SQL,找到SQL,对于SQL进行优化。看看有没有发生全表扫描的地方。

一般发生全表扫描,极有可能是没有建立合理的索引,或者索引由于左边引用函数或其它原因造成索引失效。

对于运行一年多的系统,最好要自己写一个自动重建索引的程序,定时重建索引。

或者使用TOAD工具帮你重建索引。

另外在看一下数据库的CPU占用率,如果占用率在经常在80%-100%,那一定要是SQL或存储过程及trigger中写的不好。

不需要从应用层找SQL,方向性错误,太累,也看不出效果。

而应当使用pl/SQL, toad等工具,分析出最bad的SQL语句,一看到这些语句后,再修改应用层的查询就是了。又快又方便。

— 逻辑读多的SQL

select * from (select buffer_gets, sql_text

from v$sqlarea

where buffer_gets > 500000

order by buffer_gets desc) where rownum<=30;

— 执行次数多的SQL   

  select sql_text,executions from

  (select sql_text,executions from v$sqlarea order by executions desc)

   where rownum<81;

— 读硬盘多的SQL 

  select sql_text,disk_reads from

  (select sql_text,disk_reads from v$sqlarea order by disk_reads desc)

   where rownum<21;    

— 排序多的SQL   

  select sql_text,sorts from

   (select sql_text,sorts from v$sqlarea order by sorts desc)

    where rownum<21;           

 

–分析的次数太多,执行的次数太少,要用绑变量的方法来写sql

set pagesize 600;

set linesize 120;

select substr(sql_text,1,80) “sql”, count(*), sum(executions) “totexecs”

   from v$sqlarea

   where executions < 5

   group by substr(sql_text,1,80)

   having count(*) > 30

   order by 2;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10469.html

(0)
上一篇 2022-12-27
下一篇 2022-12-27

相关推荐

  • numpy.empty应用指南

    numpy.empty应用指南随着数据科学的快速发展,numpy成为了Python中最重要的科学计算包之一。numpy提供了诸多强大的功能,例如超快速的数学运算和数组处理。其中,numpy.empty是非常实用的函数之一。

    2024-04-17
    24
  • 开源大数据调度系统Taier技术公开课——Taier数据开发介绍[通俗易懂]

    开源大数据调度系统Taier技术公开课——Taier数据开发介绍[通俗易懂]一键直达直播间 一、直播介绍 之前的内容,我们为大家分享了Taier入门及控制台,以及Taier的Web前端架构介绍,本期我们为大家分享Taier数据开发介绍。 本次直播我们将从Taier的数据开发功

    2023-05-25
    97
  • 如何使用Python Nest If语句编写高效条件判断

    如何使用Python Nest If语句编写高效条件判断Python是一种流行的编程语言,它提供了许多不同的方法来进行条件判断。其中,Python Nest If语句是一种非常流行的方法,可以通过嵌套多个if语句来有效地进行条件判断。本文将详细探讨如何使用Python Nest If语句编写高效条件判断,包括其基本语法、使用方法以及最佳实践。

    2024-02-10
    55
  • Kettle的安装及简单使用[亲测有效]

    Kettle的安装及简单使用[亲测有效]Kettle的安装及简单使用 一、kettle概述 1、什么是kettle Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高

    2023-04-25
    105
  • 100% 展示 MySQL 语句执行的神器-Optimizer Trace[通俗易懂]

    100% 展示 MySQL 语句执行的神器-Optimizer Trace[通俗易懂]在上一篇文章《用Explain 命令分析 MySQL 的 SQL 执行》中,我们讲解了 Explain 命令的详细使用。但是它只能展示 SQL 语句的执行计划,无法展示为什么一些其他的执行计划未被选…

    2023-03-31
    102
  • Python Flask面试问题 – 面试必备

    Python Flask面试问题 – 面试必备Flask是一个Web框架,它依赖于Werkzeug和Jinja2。Werkzeug是一个WSGI工具集,Jinja2是一个模板引擎。这个框架是轻量级的,它让你可以灵活地组织和管理Web应用。与Django相比,Flask缺少一些基础设施,例如ORM,表单验证等,但这使得它更加灵活。

    2024-01-17
    54
  • mysql导入json文件_json转要素失败

    mysql导入json文件_json转要素失败导入JSON数据时如果遇到这个错误: cannot create a JSON value from a string with CHARACTER SET 'binary' 用…

    2023-04-10
    130
  • Python Dictionary: 必会技能,轻松实现快速数据查找和操控

    Python Dictionary: 必会技能,轻松实现快速数据查找和操控在Python中,Dictionary是最常用的数据结构之一,它可以将任意类型的数据映射到一个唯一的键值上。Dictionary中的数据类型可以是数字、字符串、列表、元组等,而键值必须为不可变的对象,通常是字符串或数字。Dictionary的一大特点就是它可以通过key快速地查找和操控数据,因此可以说Dictionary是Python编程必须掌握的一项技能。

    2023-12-19
    65

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注