IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

BITMAP CONVERSION 执行计划导致CPU 100%

Oracle Life 2011-12-18 21:55:57 累计浏览 2,076 次
本机暂存
在Oracle 9i中,Oracle有时候会选择将B-Tree索引进行BITMAP转换来进行SQL执行,从而导致极其恶劣的执行计划。

    在下图中BITMAP CONVERSION FROM / TO ROWIDS 就是进行了位图转换后的执行计划:

    BitmapConvert.png

    在客户的数据库系统中,一旦这个SQL执行了位图转换,其执行时间就会拉长到50秒左右,而且单进程会占用100%的CPU资源,而禁用转换,则CPU资源使用正常,40几个毫秒就可以执行完成。

    SQL> alter session set "_b_tree_bitmap_plans"=false;

    Session altered.

    Elapsed: 00:00:00.01

    SQL> @sql

    COUNT(DISTINCTTAB2.WFID)

    ------------------------

           708

    Elapsed: 00:00:00.41

    SQL> alter session set "_b_tree_bitmap_plans"=true;

    Session altered.

    Elapsed: 00:00:00.00

    SQL> @sql

    COUNT(DISTINCTTAB2.WFID)

    ------------------------

           708

    Elapsed: 00:00:52.80

最后选择在全局设置隐含参数 _b_tree_bitmap_plans ,禁用了位图转换。

同分类推荐文章

  1. 使用deepseek进行Oracle恢复,引起重大故障 (2026-06-22 10:56:00)
  2. 接手一个只差临门一脚的数据库恢复 (2026-06-18 00:13:09)
  3. 我做了一个 AI 版的 StarRocks 升级风险扫描工具,直接帮我定位到一个风险 (2026-06-15 01:00:00)

查看更多 数据库 文章 →

建议继续学习

  1. Oracle MTS模式下 进程地址与会话信息 (累计阅读 14,407)
  2. 那些在11gR2中可能惹祸的新特性,一张列表帮助你摆脱升级11gR2带来的烦恼 (累计阅读 6,879)
  3. 一次SQL优化记录 (累计阅读 6,068)
  4. 性能测试工具sysbench简介 (累计阅读 6,026)
  5. 大于2GB的Listener.log和运行超过198天的主机上的Oracle实例 (累计阅读 5,862)
  6. 仅仅只备份是不够的 (累计阅读 5,824)
  7. Oracle Database 12c 新特性 - Native Top N 查询 (累计阅读 5,750)
  8. ORACLE最大可以存储多少数据量 (累计阅读 5,727)
  9. Oracle DBA的学习进阶成长树-从初出茅庐到高瞻远瞩 (累计阅读 5,601)
  10. 老托的Oracle 数据库Patch概念性小常识 (累计阅读 5,547)