解决Oracle SQL语句性能问题——收集和维护统计数据

这篇具有很好参考价值的文章主要介绍了解决Oracle SQL语句性能问题——收集和维护统计数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

所谓统计数据,前述文中也提到过,它们是数据库优化器赖以产生SQL语句最优执行计划的依据。以这些统计数据为基础,优化器通过内置的模型、算法等,计算出全部或候选执行计划的成本(Cost),通过比较每个执行计划的成本,选出成本最低的执行计划,也就得到了SQL语句打算采用的执行计划,最终为节省系统资源消耗奠定了稳定、可靠的基础,优化器是数据库系统中最重要、最核心的组件之一。这里,我们所说要收集和维护的统计数据,主要是指前述文中讲到的对象相关的统计数据。

1. 自动收集统计数据

正常情况下,系统会有任务(Task)自动定期收集统计数据,这个任务在固定的时间窗口对数据库相关统计数据进行收集。当然,这个时间窗口也可以改变,默认为每天晚上和周末,具体的任务和时间窗口,以及查看和操作的命令,各个版本会有所不同,具体可以参考官方或其他相关文档。下面,我们以Oracle 11g为例,对这个任务及其调度窗口的查询、禁用、开启及配置等进行说明。

1.1. 任务查看

SQL> select CLIENT_NAME,STATUS from DBA_AUTOTASK_CLIENT;

1.2. 任务禁用

SQL> exec DBMS_AUTO_TASK_A文章来源地址https://www.toymoban.com/news/detail-496785.html

到了这里,关于解决Oracle SQL语句性能问题——收集和维护统计数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Oracle数据库SQL*Plus命令行执行SQL语句时,中文乱码报错解决方法

    🎉欢迎来到Java学习路线专栏~Oracle数据库SQL*Plus命令行执行SQL语句时,中文乱码报错解决方法 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:Java学习路线 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 🍹

    2024年01月22日
    浏览(43)
  • 使用SQL获取oracle表结构语句(DDL语句)

    要获取Oracle数据库中特定库(Schema)中对象的DDL语句,可以使用以下SQL查询来获取指定对象的DDL: 获取表(Table)的DDL语句: 将 \\\'Your_Schema_Name\\\' 替换为你要查询的Schema名称,将 \\\'Your_Table_Name\\\' 替换为你要查询的表名称。 获取视图(View)的DDL语句: 将 \\\'Your_Schema_Name\\\' 替换为你要

    2024年02月05日
    浏览(30)
  • 【Oracle 数据库 SQL 语句 】积累1

    : grouping sets ((分组字段1,分组字段2),()) : coalesce合并多个字段,显示第一个不为null的值

    2024年02月13日
    浏览(49)
  • 解决IntelliJ IDEA在Mybatis 编写mapper.xml SQL语句时不自动提示SQL语句和数据库表的问题

    在Idea中链接数据库后,发现在MySql 的console中有SQL语句提示和数据表的提示,但是在编写mapper.xml中发现并没有提示,很烦,觉得效率下降。 在百度搜索后,发现了解决方法,出现了SQL语句的提示. 解决办法: 按下alt + enter,选择Language injection settings 然后选择SQL即可,但是这种

    2024年02月16日
    浏览(34)
  • Oracle切割字符串的方法,SQL语句完成。

    Oracle用正则的方式循环切割字符串 需求:有一个这样子的 Str = “‘CNJ-520-180500000001|CNJ-520-181200000001|CNJ-520-190300000001|CNJ-520-190100000001|CNJ-520-181200000002’” ,然后我需要拿到每一个单号,每一个单号都要走一遍固定的逻辑。 方法: 我们需要使用oracle中的 正则表达式 进行字符匹

    2024年02月12日
    浏览(36)
  • 用SQL语句操作Oracle数据库——数据更新

    数据库中的数据更新操作有3种:1)向表中添加若干行数据(增);2)删除表中的若干行数据(删);3)修改表中的数据(改)。对于这3种操作,SQL语言中有3种相应的语句与之对应。接下来让我们逐一详细地了解一下。 本文我们依然使用以下三个表来进行数据更新操作:

    2024年01月19日
    浏览(54)
  • SQL 语句性能优化策略

    1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。 2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。 3、应尽量避免在 W

    2024年02月02日
    浏览(29)
  • SpringAMQP - 消息传输时,如何提高性能?解决 SQL 注入问题?

    目录 一、问题背景 二、从消息转化器根源解决问题 1.引入依赖 2.在服务生产者和消费者中都重新定义一个 MessageConverter,注入到 Spring 容器中 在 SpringAMQP 的发送方法中,接收消息的类型是 Object ,也就是说我们可以发送任意对象类型的消息,接下来做个小实验 如下,注入一

    2024年02月16日
    浏览(28)
  • 一文带你了解MySQL之InnoDB统计数据是如何收集的

    前言 我们前边唠叨查询成本的时候经常用到一些统计数据,比如通过 show table status 可以看到关于表的统计数据,通过 show index 可以看到关于索引的统计数据,那么这些统计数据是怎么来的呢?它们是以什么方式收集的呢?本章将聚焦于 InnoDB存储引擎 的统计数据收集策略,看

    2024年02月06日
    浏览(32)
  • 干货!SQL性能优化,书写高质量SQL语句

    https://www.cnblogs.com/deepalley/p/12154000.html 写SQL语句的时候我们往往关注的是SQL的执行结果,但是是否真的关注了SQL的执行效率,是否注意了SQL的写法规范? 以下的干货分享是在实际开发过程中总结的,希望对大家有所帮助! 1. limit分页优化 当偏移量特别大时,limit效率会非常低

    2024年02月05日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包