原标题:优化器的选择,优化器的选择方法
导读:
Intro...
如何选择Oracle优化器
选用适合的Oracle优化器
Oracle的优化器共有种:
a RULE(基于规则) b COST(基于成本) c CHOOSE(选择性)
设置缺省的优化器可以通过对init ora文件中OPTIMIZER_MODE参数的各种声明如RULE COST CHOOSE ALL_ROWS FIRST_ROWS你当然也在SQL句级或是会话(session)级对其进行覆盖
为了使用基于成本的优化器(CBO Cost Based Optimizer)你必须经常运行*** yze命令以增加数据库中的对象统计信息(object statistics)的准确性
如果数据库的优化器模式设置为选择性(CHOOSE)那么实际的优化器模式将和是否运行过*** yze命令有关如果table已经被*** yze过优化器模式将自动成为CBO反之数据库将采用RULE形式的优化器
在缺省情况下 Oracle采用CHOOSE优化器为了避免那些不必要的全表扫描(full table scan)你必须尽量避免使用CHOOSE优化器而直接采用基于规则或者基于成本的优化器
访问Table的方式
Oracle采用两种访问表中记录的方式:
a全表扫描:
全表扫描就是顺序地访问表中每条记录 Oracle采用一次读入多个数据块(database block)的方式优化全表扫描
b通过ROWID访问表
你可以采用基于ROWID的访问方式情况提高访问表的效率 ROWID包含了表中记录的物理位置信息 Oracle采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系通常索引提供了快速访问ROWID的方法因此那些基于索引列的查询就可以得到性能上的提高
共享SQL语句
为了不重复解析相同的SQL语句在第一次解析之后 Oracle将SQL语句存放在内存中这块位于系统全局区域SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享因此当你执行一个SQL语句(有时被称为一个游标)时如果它和之前的执行过的语句完全相同 Oracle就能很快获得已经被解析的语句以及最好的执行路径 Oracle的这个功能大大地提高了SQL的执行性能并节省了内存的使用
可惜的是Oracle只对简单的表提供高速缓冲(cache buffering)这个功能并不适用于多表连接查询
数据库管理员必须在init ora中为这个区域设置合适的参数当这个内存区域越大就可以保留更多的语句当然被共享的可能性也就越大了
当你向Oracle提交一个SQL语句 Oracle会首先在这块内存中查找相同的语句
这里需要注明的是 Oracle对两者采取的是一种严格匹配要达成共享 SQL语句必须完全相同(包括空格换行等)
共享的语句必须满足三个条件:
A字符级的比较:
当前被执行的语句和共享池中的语句必须完全相同
例如:
SELECT*FROMEMP;
和下列每一个都不同
SELECT*fromEMP; Select*FromEmp; SELECT*FROMEMP;
B两个语句所指的对象必须完全相同:
例如:
用户对象名如何访问
Jacksal_limitprivatesynonym Work_citypublicsynonym Plant_detailpublicsynonym Jillsal_limitprivatesynonym Work_citypublicsynonym Plant_detailtableowner
考虑一下下列SQL语句能否在这两个用户之间共享
C两个SQL语句中必须使用相同的名字的绑定变量(bind variables)
例如
第一组的两个SQL语句是相同的(可以共享)而第二组中的两个语句是不同的(即使在运行时赋于不同的绑定变量相同的值)
a
selectpin namefrompeoplewherepin=:blk pin; selectpin namefrompeoplewherepin=:blk pin;
b
lishixinzhi/Article/program/Oracle/201311/17116pdf优化器怎么设置文件变小
方法一:使用PDF转换器,使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印,选择这个虚拟打印机,都可以做成PDF文件,很简单实用;
方法二:找一个在线PDF转换工具。现在有许多网站都能压缩PDF文件,你只需把文件上传,压缩完成后,重新下载下来即可。经过压缩后的文件大小一般不超过5-10MB,当然也有例外。常见的在线PDF转换工具有:
**allPDF–该网站可以快速压缩PDF文件并提供下载,而且对文件的大小及转换次数都没有限制。
Neevia的PDFCompress–该网站只能转换5MB以下的文件,但是压缩选项要比**allPDF多。;
方法三:使用“缩小大小的PDF”功能:
1、打开Adobe Acrobat。打开想要压缩的PDF文件,不过该功能在免费版中是没有的;
2、使用“另存为”功能。打开“文件”菜单,鼠标悬停在“另存为”上,这时会展开一个子菜单,然后选择“缩小大小的PDF”。也可以从文档菜单中选择“缩小大小的PDF”功能。
3、选择兼容性。如果选择的版本比较新,文件就会小一些,但是在旧版本的Acrobat上可能会打不开。
4、保存多个文件。如果要对多个文件进行同样的设置,就点击“应用到多个文档”,这样就能添加多个文档了。在输出选项对话框中,细化对文件夹及文件名的设置。
方法四:使用PDF优化器:
1、打开要缩减大小的PDF文件。
2、打开PDF优化器。
3、统计PDF大小。
4、调整设置。
5、按下“确定”。
方法五:其他方法进行处理。
PDF Reducer使您能够通过压缩和缩小图像和丢弃未使用的对象减少体积大的 PDF文件的文件大小。生成的文件常常可以少,没有明显的质量差异(有时甚至更小)的原始的一半大小。