oracle全表扫描

  ①什么是oracle全表扫描?

    oracle全全表扫描就是扫表表中所有的行,实际上是扫描表中所有的数据块,因为Oracle中最小的存储单位是Oracle block。全表扫描就是扫表表中所有的行,实际上是扫描表中所有的数据块,因为Oracle中最小的存储单位是Oracle block。全表扫描就是扫表表中所有的行,实际上是扫描表中所有的数据块,因为Oracle中最小的存储单位是Oracle block。全表扫描就是扫表表中所有的行,实际上是扫描表中所有的数据块,因为Oracle中最小的存储单位是Oracle block。

     ②何时发生全表扫描?

        a、表上的索引失效或无法被使用的情形(如对谓词使用函数、计算、NULL值、不等运算符、类型转换)
        b、查询条件返回了整个表的大部分数据                 
        c、使用了并行方式访问表
        d、使用full 提示
        e、统计信息缺失时使得Oracle认为全表扫描比索引扫描更高效    
        f、表上的数据块小于DB_FILE_MULTIBLOCK_READ_COUNT值的情形可能产生全表扫描

  

原文地址:https://www.cnblogs.com/it38/p/5035360.html