[20120216]查看数据库整体性能问题sql语句.txt

简介: http://dbatrain.wordpress.com/2010/11/22/do-you-have-an-oracle-background/从这个blog获得这个sql语句,通过这个查询到生产系统数据库一个seqence没有设置好。

http://dbatrain.wordpress.com/2010/11/22/do-you-have-an-oracle-background/

从这个blog获得这个sql语句,通过这个查询到生产系统数据库一个seqence没有设置好。

/* Formatted on 2012/02/16 09:45 (Formatter Plus v4.8.8) */
column value format 9999,9999,9999,9999
column stat_name format a60
SELECT     LPAD (' ', (LEVEL - 1) * 2) || stat_name AS stat_name, VALUE,
           CASE stat_name
              WHEN 'background elapsed time'
                 THEN '1'
              WHEN 'background cpu time'
                 THEN '1-1'
              WHEN 'RMAN cpu time (backup/restore)'
                 THEN '1-1-1'
              WHEN 'DB time'
                 THEN '2'
              WHEN 'DB CPU'
                 THEN '2-1'
              WHEN 'connection management call elapsed time'
                 THEN '2-2'
              WHEN 'sequence load elapsed time'
                 THEN '2-3'
              WHEN 'sql execute elapsed time'
                 THEN '2-4'
              WHEN 'parse time elapsed'
                 THEN '2-5'
              WHEN 'hard parse elapsed time'
                 THEN '2-5-1'
              WHEN 'hard parse (sharing criteria) elapsed time'
                 THEN '2-5-1-1'
              WHEN 'hard parse (bind mismatch) elapsed time'
                 THEN '2-5-1-1-1'
              WHEN 'failed parse elapsed time'
                 THEN '2-5-2'
              WHEN 'failed parse (out of shared memory) elapsed time'
                 THEN '2-5-2-1'
              WHEN 'PL/SQL execution elapsed time'
                 THEN '2-6'
              WHEN 'inbound PL/SQL rpc elapsed time'
                 THEN '2-7'
              WHEN 'PL/SQL compilation elapsed time'
                 THEN '2-8'
              WHEN 'Java execution elapsed time'
                 THEN '2-9'
              WHEN 'repeated bind elapsed time'
                 THEN '2-A'
              ELSE '9'
           END AS pos
      FROM (SELECT /*+ no_merge */
                   stat_name, stat_id, VALUE,
                   CASE
                      WHEN stat_id IN (2411117902)
                         THEN 2451517896
                      WHEN stat_id IN (268357648)
                         THEN 3138706091
                      WHEN stat_id IN (3138706091)
                         THEN 372226525
                      WHEN stat_id IN (4125607023)
                         THEN 1824284809
                      WHEN stat_id IN (2451517896)
                         THEN 4157170894
                      WHEN stat_id IN (372226525, 1824284809)
                         THEN 1431595225
                      WHEN stat_id IN (3649082374, 4157170894)
                         THEN NULL
                      ELSE 3649082374
                   END parent_stat_id
              FROM v$sys_time_model)
CONNECT BY PRIOR stat_id = parent_stat_id
START WITH parent_stat_id IS NULL
  ORDER BY pos;
quit;

values表示的是microseconds.

例子:
STAT_NAME                                                                   VALUE POS
------------------------------------------------------------ -------------------- ---------
background elapsed time                                            3121,7786,0635 1
  background cpu time                                              1666,7215,3938 1-1
    RMAN cpu time (backup/restore)                                 1646,8060,3756 1-1-1
DB time                                                            7462,1532,0455 2
  DB CPU                                                           3556,3403,6028 2-1
  connection management call elapsed time                             2,6776,8809 2-2
  sequence load elapsed time                                         10,0778,7756 2-3
  sql execute elapsed time                                         6428,4081,1248 2-4
  parse time elapsed                                                119,6809,5382 2-5
    hard parse elapsed time                                          13,8575,2087 2-5-1
      hard parse (sharing criteria) elapsed time                      1,9757,1748 2-5-1-1
        hard parse (bind mismatch) elapsed time                         2045,7314 2-5-1-1-1
    failed parse elapsed time                                            779,6920 2-5-2
      failed parse (out of shared memory) elapsed time                          0 2-5-2-1
  PL/SQL execution elapsed time                                     413,7540,3091 2-6
  inbound PL/SQL rpc elapsed time                                     2,2555,8554 2-7
  PL/SQL compilation elapsed time                                     1,5043,7340 2-8
  Java execution elapsed time                                                2805 2-9
  repeated bind elapsed time                                             589,4462 2-A

19 rows selected.

可以发现以层次的方式显示,很清晰!sequence load elapsed time占用1007秒,而sql execute elapsed time占用642840秒!通过查看awr很难看出seq有问题。1007787756/642840811248 = .001567709669 占用0.1%,不算很多。检查发现一些seqence确实设置太小(设置都是100)。过几天再观察看看。

目录
相关文章
|
12天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
29天前
|
SQL 存储 BI
【软件设计师备考 专题 】数据库语言(SQL)
【软件设计师备考 专题 】数据库语言(SQL)
90 0
|
12天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
74 6
|
20天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
1天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
1天前
|
SQL 缓存 数据库
sql 数据库优化
SQL数据库优化是一个复杂且关键的过程,涉及多个层面的技术和策略。以下是一些主要的优化建议: 查询语句优化: 避免全表扫描:在查询时,尽量使用索引来减少全表扫描,提高查询速度。 使用合适的子查询方式:子查询可能降低查询效率,但可以通过优化子查询的结构或使用连接(JOIN)替代子查询来提高性能。 简化查询语句:避免不必要的复杂查询,尽量使SQL语句简单明了。 使用EXISTS替代IN:在查询数据是否存在时,使用EXISTS通常比IN更快。 索引优化: 建立合适的索引:对于经常查询的列,如主键和外键,应创建相应的索引。同时,考虑使用覆盖索引来进一步提高性能。 避免过多的索引:虽然索引可以提高查询
|
7天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。
|
8天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
8天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
33 3
|
11天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
41 0

热门文章

最新文章