![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL优化
文章平均质量分 80
sinat_28472983
这个作者很懒,什么都没留下…
展开
-
Mysql优化经典案例
场景我用的数据库是mysql5.6,下面简单的介绍下场景课程表create table Course( c_id int PRIMARY KEY, name varchar(10))数据100条学生表:create table Student( id int PRIMARY KEY, name varchar(1...转载 2018-09-17 17:08:27 · 5394 阅读 · 6 评论 -
JOIN关联表中on、where后面跟条件的区别-待整理
select * fromtd left join (select case_id as sup_case_id , count(*) supervise_number from td_kcdc_case_sup_info group by case_id ) sup on sup.sup_case_id = td.case_id where 1=1 /*...转载 2018-11-22 20:12:16 · 2536 阅读 · 0 评论 -
In、or、exists、not in、not exists
目录in和or:没有索引或主键时,随数据量增多,or性能急剧下降in和exists:主表小、子表大用exists;主表大、子表小用innot in和not exists:无论哪个表大,not exists都比not in快in和or:没有索引或主键时,随数据量增多,or性能急剧下降前提条件:所在的列是否有索引或者主键。in和or所在列有索引或主键:or和in没啥差别,执行计...转载 2018-11-22 18:03:18 · 479 阅读 · 0 评论 -
Oracle执行计划变更
SQL执行计划变更导致数据库负载突升。Oracle的CBO模式会根据字段的取值比重调整对应的执行计划,无论如何,都会选择成本值最低的一个执行计划,这也是CBO优于以前RBO的地方,这里仅用于实验,因为一般OLTP的应用会使用绑定变量的写法,不会像上面这种使用常量值的写法,11g之前,可能带来的一些负面影响就是绑定变量窥探的作用,即对于使用绑定变量窥探的SQL语句,Oracle会根据第一次执行使用的...转载 2018-11-21 16:33:27 · 2170 阅读 · 0 评论 -
Oracle统计信息
统计信息概念及分类Oracle统计信息是存储在数据字典里的一组数据,从多个维度描述了oracle数据库里对象的详细信息。CBO会利用这些统计信息来计算目标SQL各种可能的、不同的执行路径成本,并从中选择一条成本值最小的执行路径来作为目标SQL的执行计划oracle数据库里的统计信息分为以下6种类型:表的统计信息:描述表的详细信息,如记录数、表块(表里的数据块数量)的数量、平均行长度等...原创 2018-11-20 20:23:38 · 1662 阅读 · 0 评论 -
Oracle——高级排序函数 & 高级分组函数
高级排序函数[ ROW_NUMBER()| RANK() | DENSE_RANK ] OVER (partition by xx order by xx)1.row_number() 连续且递增的数字 1 2 3 4 row_number() over (partition by xx order by xx ) --学生表中按照所在专业分组,同专业内按成绩倒序排序,成绩相同...转载 2018-11-13 10:47:14 · 242 阅读 · 0 评论 -
PLSQL优化:运用Profiler分析存储过程性能
由于用的是PLSQL Developer 客户端工具,而网上大多介绍的是通过手工方法应用Profiler,使用相对比较烦杂,大致是通过命令行,以SYS用户首先创建dbms_profiler包,而且还要创建一个用于存放跟踪信息的用户,及其prof表和序列的同义词,最后用profiler用户创建prof表和序列,并赋权 下面将详细介绍在PLSQL DEVELOPER 应用Profiler:...转载 2018-10-22 10:09:57 · 2611 阅读 · 0 评论 -
Informatica优化 - DTM Buffer Size
缓冲区内存概览 运行会话时,集成服务进程会启动 Data Transformation Manager (DTM)。 DTM 根据会话属性中的“DTM 缓冲区大小”设置在运行时为会话分配缓冲区内存。DTM 根据会话属性的“默认缓冲区块大小”设置中的配置将内存划分为多个缓冲区块。 读取器、转换和写入器线程使用缓冲区块将数据从源移至目标。 缓冲区块大小应大于源或目标中最大数据行的精度。...原创 2018-10-19 13:44:29 · 2066 阅读 · 0 评论 -
SQL优化案例-待续
一、DBA获取TOPAS:查看系统资源使用状况有无异常方法:用root用户登陆核心应用系统;su - oracle;执行命令 topas1.Idle%:是cpu的空闲率2.PID:进程唯一标示符3.CPU%:该进程所占用的cpu的百分比 二、DBA获取AWR报告:执行脚本$ORACLE_HOME/rdbms/admin/awrsqrpt.sqlSQL ordered...原创 2018-09-26 11:08:36 · 572 阅读 · 0 评论 -
Left Join & Right Join
select * from test1 left join test2 on (test1.id = test2.id);select * from test1,test2 where test1.id = test2.id(+);test1 test2 → * 关键字“(+)”表示会以NULL值填充不满足相等的连接条件的相关列(NAME_1),以(+)对面的表...原创 2018-09-14 13:52:59 · 128 阅读 · 0 评论 -
Oracle里SQL优化的方法论
Oracle数据库里SQL优化方法论的第一点:Oracle里SQL优化的本质是基于对CBO和执行计划的深刻理解。Oracle数据库里SQL优化的终极目标就是要缩短目标SQL语句的执行时间。1.降低目标SQL语句的资源消耗改写SQL降低目标SQL语句的资源消耗,不更改业务逻辑不改写SQL但通过调整执行计划或相关表的数据来降低目标SQL语句的资源消耗2. 并行执行目标SQL语句平衡...转载 2018-11-27 20:13:12 · 351 阅读 · 0 评论