`
jake0719
  • 浏览: 89343 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

避免全表扫描

阅读更多

转: http://www.cnblogs.com/jacklaw/archive/2008/05/16/1200802.html

 

在应用的程序设计中,除了一些必要的情况下,如月报数据的统计。打印所有清单等可以允许使用全表扫描外,一般都尽量避免涉及全表扫描。全表扫描就是指不加任何条件的查询语句。下面情况可以Oracle就使用全表扫描:

 

1.所查询的表没有索引;

2.需要返回所有的行;

3.对索引主列有条件限制,但是使用了函数,则Oracle 使用全表扫描,如:

where  upper(city)=’TOKYO’; 

这样的语句不会使用索引方法。所以就只能全表扫描。

4.带有 is null is not null != 等子句。如:

. . . where  city is  null ;

. . . where city is  not  null;

. . . where  city != ‘TOKYO’;

5.带like  并使用’%’这样的语句就使用全表扫描;

分享到:
评论

相关推荐

    Mysql如何避免全表扫描的方法

    如果MySQL需要做一次全表扫描来处理查询时,在 EXPLAIN 的结果中 type 字段的值是 ALL。

    MySQL查询优化:LIMIT 1避免全表扫描提高查询效率

    例如下面的用户表(主键id,邮箱,密码): 代码如下: create table t_user( id int primary key auto_increment, email varchar(255), password varchar(255) ); 每个用户的email是唯一的,如果用户使用email作为...

    mysql优化提高百万条数据的查询速度[参考].pdf

    1. 对查询进行优化,尽量避免全表扫描,应尽量在where和order by涉及的列上建立索引。这是因为全表扫描会导致查询速度非常慢,影响数据库的性能。 2. 应尽量避免在where子句中对字段进行null值判断,否则将导致引擎...

    mySql优化方法简单≈易学

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。  2.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。  3.应尽量避免在 where ...

    30种SQL语句优化.txt

    对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的...

    提高SQL处理查询上百万条数据库的速度

    1. 对查询进行优化,尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 在优化查询时,避免全表扫描是非常重要的。全表扫描会使查询速度变得很慢,因为它需要遍历整个表。通过建立索引,可以...

    mysql优化提高百万条数据的查询速度.pdf

    首先,对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。这是因为索引可以减少查询时间,提高查询效率。 其次,应尽量避免在 where 子句中对字段进行 null 值判断,否则将...

    怎样提高数据库查询效率.doc

    1. 对查询进行优化,将尽量避免全表扫描,在where和order by子句中涉及的列上建立索引,提高查询效率。 数据库查询效率的关键是索引的使用,索引可以大大提高查询速度。在where和order by子句中涉及的列上建立索引...

    在一个千万级的数据库查寻中,如何提高查询效率?

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。 3.不是所有索引对...

    Oracle 开发经验

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id...

    怎样提高数据库的查询效率

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id ...

    MySQL海量数据查询优化策略.

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:  select id ...

    PHP面试大全-高级篇

    1. 避免全表扫描,尽量使用索引。 2. 避免使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。 3. 避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。 4. 避免在 where ...

    Oracle 40 道面试题及答案.docx

    4. 数据库设计方面的优化方法有多种,可以对查询进行优化,避免全表扫描,建立索引,避免在 where 子句中对字段进行 null 值判断等。索引不是越多越好,需要根据具体情况而定,一个表的索引数最好不要超过 6 个。...

    oracle的sql优化

     大数据量表尽量要避免全表扫描,全部扫描会按顺序每条记录扫描,对于>100万数据表影响很大。  Oracle中通过RowID访问数据是最快的方式  对字段进行函数转换,或者前模糊查询都会导致无法应用索引而进行全表扫描 ...

    Oracle数据库索引优化方法探析.pdf

    重新设计索引可以避免全表扫描操作,降低资源消耗,缩短执行时间。避免系统排序可以减少排序操作的时间和空间消耗。使用函数索引可以提高查询效率,降低资源消耗。 Oracle 数据库索引优化的重要性在于,它可以提高...

    非常好的数据库开发规范

    7.1 让SQL走合理索引,避免全表扫描 7.2 避免类型转换 7.3 限制查询的时间范围 7.4 UNION&UNION; ALL的使用原则 7.5 LIKE的使用原则 7.6 避免在索引字段上添加函数 7.7 引入工作表概念 7.8 定期清理或归档表中的...

Global site tag (gtag.js) - Google Analytics