当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
如何写出高效的sql的一点想法一
发布时间:2010/9/21 10:06:32 来源:www.xue.net 编辑:城市总裁吧

  -

  迷糊的问题:

  1.什么样的sql,才算是高效的sql呢?

  2.sql为什么不走索引?如何让sql走索引,即改变sql的执行计划

  3.索引有哪几种?

  4,什时候用索引,什么时候全表扫描

  oracle优化器的表统计信息,评估出表的最佳连接顺序,表的连接方法,执行路径;

  最后生成执行计划,oracle就按着这个计划来执行sql

  1.什么样的sql是高效sql?

  答:最本质答案就是执行时间最短,怎么才能最短了,就是用最少的资源把事办了,不做无用功;

  即使sql的io最少,那怎么样才才能最少呢?就是尽量用索引,不要全表扫描;在多表关联的

  时候,开发人选正确的表连接方法,执行路径等

  2.sql为何不走索引

  A.类型不匹配

  B。条件列包含函数但没有创建相应的函数索引

  C。复合索引中的前导列没有被做为查询条件

  D。CBO的模式下,选择的行数比例较大,优化器选择全表扫描

  E。CBO的模式下,表很久没有分析,优化器选择了全表扫描

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved