转自http://www.2cto.com/database/201310/251176.html 对于in和exists.not in和not exists还是有很多的人有疑惑,更有甚者禁用not in,所有的地方都要用not exists,它真的高效吗? [实验1 in和exists原理及性能比较] 准备数据 create table test1 as select * from dba_objects where rownum <=1000; create table test2 as s…
系统要求进行SQL优化,对效率比较低的SQL进行优化,使其运行效率更高,其中要求对SQL中的部分in/not in修改为exists/not exists 修改方法如下: in的SQL语句 SELECT id, category_id, htmlfile, title, convert(varchar(20),begintime,112) as pubtime FROM tab_oa_pub WHERE is_check=1 and category_id in (select id from…
前言 网络上有大量的资料提及将 IN 改成 JOIN 或者 exist,然后修改完成之后确实变快了,可是为什么会变快呢?IN.EXIST.JOIN 在 MySQL 中的实现逻辑如何理解呢?本文也是比较粗浅的做一些介绍,知道了 MySQL 的大概执行逻辑,也方便理解.本文绝大多数内容来自:高性能MySQL第三版(O'Reilly.High.Performance.MySQL.3rd.Edition.M),还有一部分来自于网络,还有的来自于自己的理解,以下的内容有引用的都会做标准,如有雷同,纯属巧合…
Oracle数据库重做日志及归档日志的工作原理: lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log group写满时,或者发出switch logfile指令时都会触发日志组的切换,当发生日志组切换时,arc进程会将当前的重做日志数据写入归档日志: lgwr进程是将内存中的数据写入到重做日志文件,这是内存读磁盘写.然而arc进程是将重做日志文件写入到归档文件,是磁盘读磁盘写. 显然lgwr进程的读写效率或者读写…
整体结构如下: Oracle  分区表管理之组合分区(分区索引失效与性能比较) 虽然老早就使用了分区表,终于有时间写有关分区表的内容:不是所有的场景数据量变大需要用到分区表,一般单表数据超过2g可以考虑使用分区表,有关oracle分区表,其中单个字段作为分区比较简单,就不作说明,Oracle 11g之前只有两种组合分区,即rangeàhash,rangeàlist:而11g之后新增四种组合分区rangeàrange,listàrange,listàhash,listàlist;当然12c自动分区…
自从16年之后,因为工作原因,项目中就没有再使用oracle了,最近最近支持一个项目,又要开始负责这块事情了.最近在跑性能测试,配置全部调好之后,不少sql还存在性能低下的问题,主要涉及执行计划的不合理,以及相关pga隐含参数的优化.可能因为几年不接触的原因,略微有些生疏需要review了.这里以最近优化过的某个比较典型的例子为例(这里只讲思路.因为涉及到敏感信息,不给出最终结果,16C E5620@2.40GHz/45GB内存/fio 85/15 iops 8500/1500 配置,优化前10…
一:下载途径 二:本书图样 三:本书目录 第1篇 数据库运维篇第1章 数据库安装配置1.1 安装前的准备 11.2 安装数据库软件 51.2.1 方法1:OUI安装 61.2.2 方法2:静默安装 81.2.3 方法3:克隆安装 111.2.4 诊断案例:克隆安装后无法登录的问题 131.3 创建/删除数据库 161.3.1 方法1:DBCA图形建库 161.3.2 方法2:手工建库 181.3.3 方法3:DBCA静默建库 221.3.4 方法4:OMF建库 221.3.5 诊断案例:crea…
如果你在代码中使用了 FileInfo.Exists 实例方法来判断一个文件是否存在,也许会发现此方法可能错误地判断来一个文件是否真的存在.这是一个坑. 本文将介绍坑的原因,并提供填坑的办法. 本文内容 问题代码 原因分析 解决办法 问题代码 我们使用两种不同的方式判断文件是否存在: FileInfo.Exists 实例方法 File.Exists 静态方法 static async Task Main(string[] args) { var filePath = @"C:\Users\lvy…
文章转自:http://www.wzsky.net/html/Program/DataBase/74799.html 近期来,FreeList的重要作用逐渐为Oracle DBA所认识,网上也出现一些相关的讨论.本文以FreeList为线索对Oracle的存储管理的原理进行较深入的探讨,涉及Oracle段区块管理的 原理,FreeList算法等.而与FreeList密切相关的一个重用特性HWM,与sql性能密切相关,本文也作了原理分析介绍.在原理探讨的基础 上,介绍了常用的存储参数分析方法,并对…
参考文章:SQL SERVER性能优化综述(很好的总结,不要错过哦) 数据库:系统数据库 子查询的用法 子查询是一个 SELECT 查询,它嵌套在 SELECT.INSERT.UPDATE.DELETE 语句或其它子查询中.任何允许使用表达式的地方都可以使用子查询.子查询可以使我们的编程灵活多样,可以用来实现一些特殊的功能.但是在性能上,往往一个不合适的子查询用法会形成一个性能瓶颈.          如果子查询的条件中使用了其外层的表的字段,这种子查询就叫作相关子查询.相关子查询可以用IN.N…