Oracle数据库使用Analyze提升sql性能
Oracle数据库使用Analyze提升sql性能
如果你不使用analyze完成sql优化,将意味着:你拒绝使用数据库的查询优化器,也失去了使用优化连接的机会。假设你创建了一张拥有100万条记录的临时表,如果不对其进行分析,那么优化器将无法从现有的线索中获取表中真正的内容,于是它只能决定使用嵌套循环连接来一行行地扫描数据表,随着数据集的增长,你的数据库性能会越来越差。
ORACLE数据库的PL/SQL语句执行的优化器,有基于代价的优化器(CBO)和基于规则的优化器(RBO)。
RBO的优化方式,依赖于一套严格的语法规则,只要按照规则写出的语句,不管数据表和索引的内容是否发生变化,不会影响PL/SQL语句的"执行计划"。
CBO自ORACLE7版被引入,ORACLE自7版以来采用的许多新技术都是只基于CBO的,如星型连接排列查询,哈希连接查询,反向索引,索引表,分区表和并行查询等。CBO计算各种可能"执行计划"的"代价",即cost,从中选用cost最低的方案,作为实际运行方案。各"执行计划"的cost的计算根据,依赖于数据表中数据的统计分布,ORACLE数据库本身对该统计分布是不清楚的,须要分析表和相关的索引,才能搜集到CBO所需的数据。要想使用好CBO,使SQL语句发挥最大效能,必须保证统计数据的及时性。
统计信息的生成可以有完全计算法和抽样估算法。SQL例句如下:
完全计算法:analyze table abc compute statistics;
抽样估算法(抽样20%): analyze table abc estimate statistics sample 20percent;
可以通过定时任务方式,定时通过analyze命令完成数据库中相应表内容的分析处理。
转载于:https://www.cnblogs.com/widget90/p/9678884.html
Oracle数据库使用Analyze提升sql性能相关推荐
- Oracle数据库学习:PL/SQL(详解)
Oracle数据库学习:PL/SQL 什么是PL/SQL PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的扩展语言; 使用PL/SQL 可以编写具 ...
- 把Oracle数据库移植到Microsoft SQL Server 7 0
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 把Ora ...
- Oracle数据库查看表空间sql语句、查看Oracle数据库表空间剩余 、修改表空间、库备份
一 Oracle数据库查看表空间sql语句 1.oracle查看表空间当前用户 SQL> select username,default_tablespace from user_use ...
- navicat导出数据到oracle,使用Navicat premium导出oracle数据库中数据到SQL server2008数据库中...
使用Navicat premium导出oracle数据库中数据到SQL server2008数据库中 发布时间:2018-08-20 14:41, 浏览次数:471 , 标签: Navicat pre ...
- winform执行oracle语句,C#中的Winform应用程序连接远程Oracle数据库的配置文件及SQL语句的写法...
远程连接Oracle数据库的配置文件及sql语句 近期,应朋友的要求,用C#语言开发了一个winform应用程序,要求的是连接到远程的Oracle数据库,用惯了SQL Server的我突然有点懵,然后 ...
- oracle数据库等级,[数据库]Oracle数据库建表并用SQL编程分等级
[数据库]Oracle数据库建表并用SQL编程分等级 0 2016-06-15 23:00:13 --创建学生表 create table XS_543 ( XH char(6) not null , ...
- idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...
intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...
- oracle - - 注释符,Oracle数据库扩展语言PL/SQL之注释、分隔符和标识符
点击蓝字关注我吧 [本文详细介绍了Oracle数据库扩展语言PL/SQL的注释.分隔符和标识符,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 1.1 注释 注释不会被数据库编译,只是给开发人提供一 ...
- mysql中10049是什么错误_【学习笔记】Oracle数据库10049用于分析SQL解析笔记案例
[学习笔记]Oracle数据库10049用于分析SQL解析笔记案例 时间:2016-11-05 13:54 来源:Oracle研究中心 作者:HTZ 点击: 次 天萃荷净 Oracle研究 ...
最新文章
- 5分钟 NLP 系列: Word2Vec和Doc2Vec
- 使用Kickstart+Apache+Dhcp+Pxe无人值守安装操作系统
- 项目当中套一个自己的小库的方式问题记录
- CAD公差表以及如何算
- 感受JTable 与 JTableModel
- 配置 Hadoop 时遇到的一些问题
- 优化理论17----wolfe_Powell准则、Wo1fe-Powell搜索法
- WES7SP1_zh-CN For Asrock DeskMini A300
- 大麦盒子(domybox)无法进入系统解决方案!【简单几步】
- 【CSS】纯CSS实现三级导航(模板)
- php判断手机号码归属地,手机号码归属查询大全所在位置(PHP通过API获取手机号码归属地)...
- 模型的学习方式-迁移学习、多任务学习、小样本学习、元学习
- pon终端测试仪_PON产品测试方案
- ubuntu vim的 保存退出方法
- matlab收获,matlab实习心得体会 1700字
- MATLAB函数——atan(x)和atan2(x)的区别
- 把当前web页面上的所有图片复制到特定目录
- 树莓派怎么安装中文输入法
- 【C++入门】函数重载,引用,内联函数......
- 程序烧录器STLINK_V2CMSIS_DAP_V2制作——DIY方案分享
热门文章
- ACK正式支持对基于Alibaba Cloud Linux操作系统的集群进行等保加固
- 如何让一套代码适配所有iOS设备尺寸?
- 开放下载!《iOS开发者必读资讯》
- 深度解析 | 基于DAG的分布式任务调度平台:Maat
- 找不到redis得pid文件_电脑提示Windows找不到文件?试试这两个技巧,轻松解决!...
- Java工程师知识图谱
- oracle 11gR2 新增deinstall命令来卸载grid和database
- 设计模式之控制反转和依赖注入的使用小结
- SVN中忘记上传自己写的工程,但是IP已经变了的解决方案
- HTML 样式兼容不同设备类型