`
kiddwyl
  • 浏览: 398967 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
  新BLOG开启,以后开始使用新BLOG了,希望大家多多交流! BLOG ADDRESS:http://www.kiddwyl.com
这几天因为公司的复杂查询出现性能的问题(说实话本来就没设计好,数据行数都在1000W左右),所以需要进行调优,其实问题很简单,在系统中都使用了exists来进行表关联, 当然是不行的,我利用了表内联来解决问题 恩,结果还算不错,从跑不出来到了第一次硬解析在10分钟以内,但是公司管理层还是希望请“大牛”来查看下(该说的我都说了,摆明了不相信我吗)   “大牛”来的第一天:        一、调整过程:               1.) 通过with语句进行调整语句
5.6  自动共享内存管理  从Oracle 10g开始,Oracle提供了自动SGA的管理(简称ASMM,即Automatic Shared Memory Management)新特性。所谓ASMM,就是指我们不再需要手工设置shared pool、buffer pool等若干内存池的大小,而是为SGA设置一个总的大小尺寸即可。Oracle 10g数据库会根据系统负载的变化,自动调整各个组件的大小,从而使得内存始终能够流向最需要它的地方。 比如,假设某个系统,白天属于OLTP应用,因此会需要较多的buffer cache。而该系统在晚上属于DSS应用。对于DSS应用,很多的SQL语句由于都是进 ...
1、速度因素      PARALLEL选项:当创建索引时,Oracle首先会进行全表扫描来收集符号键和ROWID对,而PARALLEL选项允许多处理器并行扫描表,这样就会加速索引的创建过程。一般推荐的PARALLEL值为CPU数减1。      NOLOGGING选项:NOLOGGING选项因为不写日志,所以大大提高了性能,比不使用NOLOGGING选项大约会节省70%的时间。使用NOLOGGING创建索引的唯一风险就是如果数据库需要做前滚恢复,你将不得不重建索引。      2、空间和结构因素      COMPRESS选项:COMPRESS选项用于在创建非唯一性索引时压缩重复值。对于连接索 ...
javah - C 头文件和 stub 文件生成器 javah 从 Java 类生成 C 头文件和 C 源文件。这些文件提供了连接胶合,使 Java 和 C 代码可进行交互。 结构 javah [ options ] fully-qualified-classname. . . javah_g [ options ] fully-qualified-classname. . . 说明 javah 生 ...
    在Oracle中,Latch的概念是非常重要的,v$latch表的每一行包括了对不同类型latch的统计,每一列反映了不同类型的latch请求的活动情况。不同类型的latch请求之间的区别在于,当latch不可立即获得时,请求进程是否继续进行。按此分类,latch请求的类型可分为两类:willing-to-wait和immediate。     latch free,相信跟大家并不陌生,在v$session_wait和Top5中会出现,当然出现类似的内容,就证明Latch产生了竞争,并且已经影响到了你的系统性能。     首先我们来列举一下Latch出现竞争的几种常见情况:      ...
1 背景:Oracle 数据库在执行sql时,会自动的选择较优的执行计划。但有时oracle自动选择的执行计划不是最佳的执行计划,在执行的时候可能会造成效率问题,甚至会hang住。2 问题提出:A省近期20多天来在进行boss同步日志的生成时,经常出现程序长时间的运行没有相应,初步怀疑程序中的sql: SQL_TEXT--------------------------------------------------------------------------------SELECT a.column01,       a.column02,       a.column03,     ...
bcmp(比较内存内容) 相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp 表头文件 #include<string.h> 定义函数 int bcmp ( const void *s1,const void * s2,int n); 函数说明 bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0, ...
    今天突然想起自己在运营的PtoP影院中的mysql优化经历,就大致总结了一下,正巧在网上看到类似的文章,深有体会,在这里发一下给大家共享,也给自己做一个总结,这次作为MySQL优化的第一讲,以后会陆续往下写,大家有 ...
在实际的工作中,想必很多人会对SORT_AREA_SIZE和sga、pga搞得头晕脑胀,对workarea_size_policy采用auto还是manual也不太明白,或者是使用设置为auto,那么sort_area_size还是否有效呢? 以下对以上几个问题作了综合的说明: 1: 10g里还用SORT_AREA_SIZE 这个参数。 if ( 数据库版本 >= 10gR1 ) then    if (workarea_size_policy=auto)    then        sort area size 无效    else        sort area size 有 ...
在建立Oracle数据库的时候,应该会在数据库建立助手向导上面看到这么一个选项,就是数据库的连接模式采用什么方式。在Oracle9i或者10g中,可以看到有2种连接模式,一种叫做专用服务器连接(dedicated server) ,另外一种叫做共享服务器连接(shared server)。下面我们来分类说一下这两种连接方式的不同点。   专用服务器模式就是说每次在对Oracle进行访问的时候,Oracle服务器的Listener会得到这个访问请求,然后回为这个访问创建一个新的进程来进行服务。所以说,对于每一个客户端的访问,都会生成一个新的进程进行服务,是一种类似一对一的映射关系。这种连接模式的 ...
cost of b-tree access 这一节我们看看CBO是如何来计算最普通的b-tree索引的访问的cost的。 我们知道B-tree索引的结构是一个树状结构,索引中包括root block,branch block, leaf block,这些结构分别相当与树的根,茎和叶。当我们使用一个 ...
大家在大型数据库生产系统的运维中可能会遇到这样一个问题,一条查询语句,操作的是相同的表和数据,为什么在生产数据库上执行起来就很慢,而在备份数据库反而会很快。这其中一个重要原因就在于索引CLUSTER_FACTOR的不同。   Oracle数据库下,索引在做完统计分析后,会获得很多重要信息,其中之一就是CLUSTER_FACTOR,CLUSTER_FACTOR表示索引数据顺序和表数据顺序的一致性,关于CLUSTER_FACTOR的理论和机制分析见随后作者的文章,Oracle高级SQL调优之:CLUSTER_FACTOR机制研究。   CLUSTER_FACTOR的精彩之处就在于,能借此区分看来貌似 ...
ROW_NUMBER()的使用方法:     ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 详细说明:     根据COL1分组     在分组内部根据 COL2排序 而这个值就表示每组内部排序后的顺序编号(组内连续的唯一的) RANK():排序的时候跟派名次一样,可以并列2个第一名之后 是第3名 LAG:分组排序后 ,组内后面一条记录减前面一条记录的差,第一条可返回 NULL BTW: EXPERT ONE ON ONE 上讲的最详细,还有很多相关特性,文档看起来比较费劲 row_number()和rownum差不多, ...
相信很多朋友在rowid和index之间都会有些疑问,今天在warehouse大师的blog中看到一片简单扼要的文章,在这里跟大家共享一下,相信以下的说法可以解开不少开发人员的心结。 唯一index和非唯一index的index entry中尽管都存在rowid,但是其实有一点细微的差别,在唯一index中index_column就是index_column, 数据通过index_column排序;而在非唯一index中index_column其实是index_key+rowid,如果index_key相同,那么会使用rowid排序。 Data is returned in the as ...
Global site tag (gtag.js) - Google Analytics