Oracle优化
文章平均质量分 74
越努力越幸运再努力
这个作者很懒,什么都没留下…
展开
-
Oracle with as + /*+ materialize*/ 优化
文章目录 with as/*+ materialize*/ 优化 with as 概述: WITH AS: 就是将一个子查询部分独立出来,有时候为了提高 sql 语句的可读性,有时候为了提高 sql 语句性能 使用场景: 当有多个相似子查询的时候,用 with as 写公共部分。因为子查询结果在内存临时表中,故执行效率较高(临时表在会话结束后自动被 PGA 清除) 注意情况: 一般来说,如果 with as 短语定义的表名被调用 2 次及以上,则 CBO 优化器会自动把 with a..原创 2021-09-18 09:32:33 · 946 阅读 · 0 评论 -
ORACLE之SQL语句内部解析过程
一、客户端通过监听连接到数据库,数据库开启一个server process进程来接收客户端传过来的sql。 1.这条sql语句从来都没有被执行过。(硬解析) 2.这条sql语句被执行过。(软解析)二、我们来看一条SQL语句内部解析到底经历了什么?sql硬解析解析的步骤1.语法检测:检测sql语句有没有语法错误,是否符合sql规范2.语义检测:检测sql语句涉及的对象是否存在。3.检查共享池中是否存在相同的已经执行过的sql语句。4.通过数据字典的统计信息,来计算最优执行计原创 2021-07-08 10:36:11 · 280 阅读 · 1 评论 -
常用的SQL优化技巧
说到系统性能优化涉及的内容就比较多了,从业务需求到系统架构设计再到实现过程中的中间件、存储层等等的设计,这些都是需要充分规划的。涉及存储层,从数据库选型,数据库设计,索引规划、查询方式,任一环节都可能引入性能风险。本文主要从数据库SQL查询优化的角度优化查询性能,数据库选型是MySQL。SQL查询优化应尽量避免在 WHERE 子句中使用 != 或 <> 操作符,否则将导...原创 2019-12-06 14:54:03 · 351 阅读 · 0 评论 -
分库分表
一、数据库瓶颈1、IO瓶颈2、CPU瓶颈二、分库分表1、水平分库2、水平分表3、垂直分库4、垂直分表三、分库分表工具四、分库分表步骤五、分库分表问题1、非partition key的查询问题(水平分库分表,拆分策略为常用的hash法)2、非partition key跨库跨表分页查询问题(水平分库分表,拆分策略为常用的hash法)3、扩容问题(水平分库分表,拆分策略为常用的hash法)六、分库分表总...原创 2019-12-06 14:52:24 · 136 阅读 · 0 评论 -
Linux平台生成AWR报告
1.使用oracle用户登录应用服务器所使用的数据库所在的服务器 # su –oracle 如果 不知道密码可以先登录root用户在切换到Oracle用户2,切换到如下目录 cd $ORACLE_HOME/rdbms/admin3,用SYSDBA身份登录sqlplus / as sysdba4,在sqlplus中输入@awr...原创 2019-11-06 10:55:23 · 1434 阅读 · 0 评论 -
Sql优化-索引列的选择
前言:sql优化中创建索引是很常见且有效的方法,但是如果准确有效的创建索引呢,应该给哪些列创建索引呢,本文中将介绍如何明确给哪些列创建索引的方法。首先,需要引入两个概念:基数(SELECTIVITY),选择性(CARDINALITY)。基数:是指某一列中不重复值的数据量,比如性别一列,该列只有男,女两个值,所以该列的基数是2。选择性:基数与总行数的比值再乘以100就是该列的选择性。确...原创 2019-04-01 10:10:20 · 594 阅读 · 0 评论 -
ORA-12838: 无法在并行模式下修改之后读/修改对象
问题描述:执行 语句2:INSERT /*+ APPEND PARALLEL(30) NOLOGINT */ INTO TABLE1 SELECT * FROM TABLE2这种语句的时候报错。原因分析:在执行该语句的前面有执行生成TABLE2的语句1:INSERT /*+ APPEND PARALLEL(30) NOLOGINT */ INTO TABLE2 SELECT * F...原创 2019-02-28 14:58:58 · 9040 阅读 · 0 评论 -
oracle数据库生成AWR报告
1,打开命令窗口输入@然后按回车,在数据库安装目录admin下找到awrrpt.sql文件打开2, 如果我们想要导出的awr格式是html格式,那么我们需要在弹出框输入html3,输入完成后点击确定,如果我们想要导出今天的快照,那么我们在弹出框输入1即可4,输入完成点击确定,然后输入begin_snap5,输入完成begin_snap后,我们需要输入end_snap...原创 2019-02-14 21:51:02 · 1480 阅读 · 0 评论 -
Oracle查询消耗资源的SQL语句
1,查找最近一分钟内,最消耗CPU的SQL语句:SELECT ASH.INST_ID, ASH.SQL_ID, (SELECT VS.SQL_TEXT FROM GV$SQLAREA VS WHERE VS.SQL_ID = ASH.SQL_ID AND ASH.INST_ID = VS.INST_ID) ...原创 2018-12-07 13:49:18 · 879 阅读 · 0 评论 -
Oracle SQL语句优化
1,建表时: 1)创建主键 2)创建索引 3)如果表数据量很大考虑创建分区 4)可以使用number类型的就不适用varchar2,这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字符, 而对于数字型而言只需要比较一次就够了。2,创建索引注意事项: 1)首先应考虑在 where 及 order by 涉及的列上建立索引。 2)避免在索引列上使用NO...原创 2018-11-29 16:49:31 · 404 阅读 · 0 评论 -
Oracle AWR报告详细分析
Oracle AWR报告详细分析个人分类: Oracle 优化 AWR 是 Oracle 10g 版本 推出的新特性, 全称叫Automatic Workload Repository-自动负载信息库AWR 是通过对比两次快照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分。WORKLOAD REPOSITORY report for ...转载 2018-11-04 23:08:58 · 809 阅读 · 0 评论 -
Oracle AWR报告详细分析
Oracle AWR报告详细分析 AWR 是 Oracle 10g 版本 推出的新特性, 全称叫Automatic Workload Repository-自动负载信息库AWR 是通过对比两次快照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分。WORKLOAD REPOSITORY report for DB Name ...转载 2018-11-04 20:37:38 · 1821 阅读 · 0 评论