在向大家具体介绍Oracle Hints之前,首先让大家了解下Oracle Hints是什么,然后全面介绍Oracle Hints,希望对大家实用。基于代价的优化器是非常聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了非常差的运行计划,使某个语句的运...
分类:
数据库 时间:
2014-10-20 13:02:35
阅读次数:
240
非聚集索引包含索引键值和指向表数据存储位置的行定位器.有关非聚集索引体系结构的详细信息, 请参阅非聚集索引结构.可以对表或索引视图创建多个非聚集索引. 通常, 设计非聚集索引是为改善经常使用的没有建立聚集索引的查询的性能.与使用书中索引的方式相似, 查询优化器在搜索数据值时, 先搜索非聚集索引以找到...
分类:
其他好文 时间:
2014-10-15 11:55:00
阅读次数:
155
当您考虑是否要对列创建索引时, 请估计在查询中使用列的方式, 下表介绍了索引对其有用的查询类型.表中的示例基于 AdventureWorks2008R2 示例数据库, 在 SQL Server Management Studio 中运行这些示例时. 您可以通过显示实际的执行计划来查看查询优化器选择的...
分类:
其他好文 时间:
2014-10-15 10:31:01
阅读次数:
256
从词面上来讲,volatile的意思是易变的,也就是说,在程序运行的过程中,有一些变量可能会被莫名其妙的改变,而优化器为了节约时间,有时候不会重读这个变量的真实值,而是去读在寄存器的备份,这样的话,这个变量的真实值反而被优化器给“优化”掉了,用时髦的词说就是被“被和谐”了。如果使用了这个修饰词,就是通知编译器别犯懒,老老实实的去重读一遍!
另外,由于访问寄存器的速度要快过RAM,所以编译器一般都...
分类:
其他好文 时间:
2014-10-11 22:04:46
阅读次数:
189
早期Oracle查询优化器的开销计算是基于执行SQL语句所需要的物理读,这个方法被叫做I/O开销模式(I/O cost model),这个方法的主要缺点是认为单块读和多块读开销相当。在Oracle 8i中,初始化参数optimizer_index_caching和optimizer_index_cost_adj解决了这个问题,但参数的默认值仅适用于报告系统和数据仓库。直到Oracle 9i,ORa...
分类:
数据库 时间:
2014-10-09 19:12:17
阅读次数:
246
我们都知道,一条SQL语句提交给优化器会产生相应的执行计划然后执行输出结果,但他的执行计划是如何产生的呢?这可能是关系型数据库最复杂的部分了.这里我为大家介绍一个有关SQL Server优化器的特性-隐式谓词,并简单介绍在此特性下如何根据场景控制优化器的行为.
分类:
数据库 时间:
2014-10-09 14:20:33
阅读次数:
205
2014-06-20 BaoXinjian一、摘要手工指定SQL语句的执行计划尽管oracle优化器很智能,但有时候你想自己选择执行计划,可以通过hint实现。在开发测试环境中,可以通过hint测试不同执行计划的性能。Hint的缺点是增加了管理代码的额外负担,当数据库或环境发生变化时,如果不修改hi...
分类:
数据库 时间:
2014-09-28 15:59:15
阅读次数:
330
2014-09-25 BaoXinjian一、摘要1. Oracle优化器介绍本文讲述了Oracle优化器的概念、工作原理和使用方法,兼顾了Oracle8i、9i以及最新的10g三个版本。理解本文将有助于您更好的更有效的进行SQL优化工作。2. RBO优化器RBO是一种基于规则的优化器,随着CBO优...
分类:
数据库 时间:
2014-09-28 14:33:13
阅读次数:
637
2014-09-25 BaoXinjian一、摘要1. Oracle优化器介绍本文讲述了Oracle优化器的概念、工作原理和使用方法,兼顾了Oracle8i、9i以及最新的10g三个版本。理解本文将有助于您更好的更有效的进行SQL优化工作。2. RBO优化器RBO是一种基于规则的优化器,随着CBO优...
分类:
数据库 时间:
2014-09-25 14:19:19
阅读次数:
288
不走索引的情况还是蛮多的1、条件字段选择性弱,查出的结果集较大,不走索引;2、where条件等号两边字段类型不同,不走索引;3、优化器分析的统计信息陈旧也可能导致不走索引;4、索引字段 is null 不走索引;5、对于count(*)当索引字段有not null约束时走索引,否则不走索引;6、li...
分类:
其他好文 时间:
2014-09-22 17:56:32
阅读次数:
168