1. 11g之前的绑定变量窥视
我们都知道,为了能够让SQL语句共享执行计划,oracle始终都是强调在进行应用系统的设计时,必须使用绑定变量,也就是用一个变量来代替原来出现在SQL语句里的字面值。比如,对于下面三条SQL语句来说:
select col1 from t where col2 = 1;
select col1 from t where col2 = 2;
...
分类:
数据库 时间:
2014-08-19 01:01:53
阅读次数:
444
Prepare的好处 Prepare SQL产生的原因。首先从mysql服务器执行sql的过程开始讲起,SQL执行过程包括以下阶段词法分析->语法分析->语义分析->执行计划优化->执行。词法分析->语法分析这两个阶段我们称之为硬解析。词法分析识别sql中每个词,语法分析解析SQL语句是否符合sq....
分类:
数据库 时间:
2014-08-18 20:06:32
阅读次数:
500
本章提要-------------------------------------------如何设置, 来获取执行计划如何读懂执行计划-------------------------------------------执行计划描述了SQL引擎为执行SQL语句进行的操作. 在任何时候, 要处理执行...
分类:
其他好文 时间:
2014-08-14 23:19:26
阅读次数:
348
当Oracle查询出现效率问题时,我们往往需要了解问题所在,这样才能针对问题给出解决方案。Oracle提供了SQL执行的trace信息,其中包含了SQL语句的文本信息,一些执行统计,处理过程中的等待,以及解析阶段(如生成执行计划)产生的信息。这些信息有助于你分解sql语句的服务时间和等待时间,并了解所用资源和同步点的详细信息,从而帮助你诊断存在的性能问题。
这篇文章介绍了怎么开启SQL跟踪和获取...
分类:
数据库 时间:
2014-08-14 14:13:48
阅读次数:
311
今天网上看到一篇关于收集统计信息的文章,还不错,特转载下来。
1. 理解什么是统计信息
优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划。优化器统计信息包括:
· 表的统计信息
o 行数
o Block数
o 行平均长度
· 列的统计信息
o 列中不同值的数量
o 列中null的数量
o 数据分布(柱状图/直方图)
· 索引的统计信息
o 叶子块...
分类:
数据库 时间:
2014-08-08 02:03:15
阅读次数:
398
为毛 MySQL优化器的执行计划 好多时候都不准确,不是最优的呢(cpu+io)???
因素太多了::
存在information_schema的信息是定期刷新上去的,好多时候不是最真的,甚至相差好大(非高山峰时好好利用一下analyze table等);
现在一个企业有钱没地方花,买一大堆固态磁盘,碰巧非智能的MySQL不能很好滴跟上硬件优化的节奏,可能超过一部分的...
分类:
数据库 时间:
2014-08-07 00:51:27
阅读次数:
382
摘要:PHP不支持多线程,有时候处理问题不是那么爽,今天谈论一下PHP定时执行的方法PHP定时执行的三种方式实现1、windows 的计划任务2、linux的脚本程序3、让web浏览器定时刷新具体实现windows计划任务PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写ba...
分类:
Web程序 时间:
2014-08-06 18:48:41
阅读次数:
292
下面教大家如何手工算出oracle执行计划中的cost值。
成本的计算方式如下:
Cost = (
#SRds * sreadtim +
#MRds * mreadtim +
CPUCycles / cpuspeed
) / sreadtime
#SRds - number of single block reads 单...
分类:
其他好文 时间:
2014-08-04 18:06:07
阅读次数:
310
– 查询(或更新,删除,可以转换为查询)没有用到索引
这是最基础的步骤,需要对sql执行explain查看执行计划中是否用到了索引,需要重点关注type=ALL, key=NULL的字段。
– 在索引字段上施加函数
to_char(gmt_created, ‘mmdd’) = ...
分类:
数据库 时间:
2014-08-02 20:40:24
阅读次数:
282