`
jake0719
  • 浏览: 90553 次
  • 性别: 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全表扫描的方法: 1. **合理设计索引**:在经常用于WHERE子句或JOIN条件的列上创建索引,这样...

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

    本篇文章将深入探讨如何利用`LIMIT 1`来避免全表扫描,从而提高查询效率。 首先,理解全表扫描是关键。当MySQL执行一个SELECT语句,而查询条件所基于的列没有索引时,它会遍历整个表,检查每一行以找到匹配的记录。...

    oracle全表扫描的3种优化手段

    较高的PCTFREE值可以避免频繁的行移动,从而降低全表扫描时的CPU开销。 - **表空间迁移**:将表从一个表空间迁移到另一个表空间,可以利用新表空间的特性来优化表的存储结构,进而提升全表扫描的性能。 - **优化策略...

    Oracle全表扫描及其执行计划

    在优化SQL性能时,不应盲目避免全表扫描,而应根据实际情况权衡。有时候,优化数据库结构、更新统计信息或调整查询语句,可能会提高查询效率。了解何时应该使用全表扫描,以及何时应该避免它,对于优化Oracle数据库...

    解析SQL语句在何种情况下进行全表扫描

    在数据库管理中,全表扫描(Full Table Scan,FTS)是一种检索数据的方式,它会遍历表中的每一行以满足查询条件。全表扫描在某些情况下是必要的,但通常被视为效率较低的操作,因为它可能涉及大量的I/O操作,特别是...

    数据库SQL优化大总结之 百万级数据库优化方案.pdf

    本文总结了数据库SQL优化的十一个重要知识点,以帮助开发者提高SQL查询效率,避免全表扫描。 一、数据库SQL优化之索引优化 1. 在where及order by涉及的列上建立索引,以避免全表扫描。 二、数据库SQL优化之避免...

    数据库SQL优化大总结 百万级数据库优化方案

    在查询中,尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引。这样可以提高查询效率,减少数据库的压力。 二、避免使用NULL值 在数据库设计中,尽量避免使用NULL值,特别是在where子句中对字段...

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

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

    数据库SQL优化大总结.pdf

    1. 避免全表扫描:查询优化的首要原则是避免全表扫描,因为这种操作对系统资源消耗巨大。为了减少全表扫描的可能性,应该在where及orderby涉及的字段上建立索引。索引可以加快数据检索速度,尤其是在大数据集上进行...

    30种SQL语句优化.txt

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

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

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

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

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

    大数据量高并发的数据库优化

    本文将深入探讨大数据量高并发场景下的数据库优化策略,涵盖索引优化、查询优化、存储类型选择、以及避免全表扫描等关键知识点。 ### 索引优化 索引是提高数据库查询效率的关键技术之一。在大数据量高并发的环境下...

    浅谈MySQL中优化sql语句查询常用的30种方法.doc

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

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

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics