sql - 查询执行在位图索引中需要更多时间
问题描述
我的表有 100 万条记录。我只想从表中获取非活动用户。查询执行时间超过 10 分钟。即使我使用的是索引。STATUS 只有两个值 Y 或 N。所以我为该列创建了位图索引。
EXPLAIN PLAN FOR
SELECT CUSTOMER NAME,MOBILE NUMBER,ACCOUNT NUMBER,CUSTOMER ID,REGISTARTION DATE from REGISTRATION where STATUS='N';
Plan hash value: 2615581521
---------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
---------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 960K| 66M| 9880 (1)| 00:01:59 | | |
| 1 | PARTITION RANGE ALL | | 960K| 66M| 9880 (1)| 00:01:59 | 1 |1048575|
| 2 | PARTITION HASH ALL | | 960K| 66M| 9880 (1)| 00:01:59 | 1 | 4 |
| 3 | TABLE ACCESS BY LOCAL INDEX ROWID| REGISTRATION | 960K| 66M| 9880 (1)| 00:01:59 | 1 |1048575|
| 4 | BITMAP CONVERSION TO ROWIDS | | | | | | | |
|* 5 | BITMAP INDEX SINGLE VALUE | IDX_REGISTRATION_7 | | | | | 1 |1048575|
---------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
5 - access("STATUS"='N')
Note
-----
- dynamic sampling used for this statement (level=11)
-----------------------------------------------------------------------------------------------------------------------------------------------------
如何提高上述查询的性能?
解决方案
推荐阅读
- django - 如何为 django 模型添加 pydantic 字段验证?
- math - 如何证明这个集合是一个 sigma 代数
- javascript - 在 MVC 中使用框模式删除请求
- python - Heroku ChromeWebDriver 和 Chrome 的问题
- r - 如何在文件路径名中使用通配符在 R 中进行模式匹配?
- python - 如何制作单个反斜杠字符串
- c# - 为什么 Dictionary Add 方法在键已经存在但 HashSet 不存在时抛出异常
- c# - Mailkit - 替换 Html 部分中的文本
- python - 从 RandomizedSearchCV 复制模型结果
- javascript - 如何使 html 文本输入只读但能够使用脚本进行更新?