Sql 选择Blob列时未使用oracle中的索引
我在一个表中有6列。一列是BLOB列。如果我在select中使用BLOB列,则我的查询不使用索引Sql 选择Blob列时未使用oracle中的索引,sql,oracle,select,indexing,blob,Sql,Oracle,Select,Indexing,Blob,我在一个表中有6列。一列是BLOB列。如果我在select中使用BLOB列,则我的查询不使用索引 select * from ACT_GE_BYTEARRAY where DEPLOYMENT_ID_ =1234 order by NAME_ asc 你能帮忙吗 在不使用Oracle文本概念的情况下,在BLOB列上创建域索引,有什么改进的方法吗 这是查询的计划: SELECT STATEMENT ALL_ROWSCost: 564 Bytes: 57,247 Cardinalit
select *
from ACT_GE_BYTEARRAY
where DEPLOYMENT_ID_ =1234
order by NAME_ asc
你能帮忙吗
在不使用Oracle文本概念的情况下,在BLOB列上创建域索引,有什么改进的方法吗
这是查询的计划:
SELECT STATEMENT ALL_ROWSCost: 564 Bytes: 57,247 Cardinality: 23
2 SORT ORDER BY Cost: 564 Bytes: 57,247 Cardinality: 23
1 TABLE ACCESS FULL TABLE ACTIVITI.ACT_GE_BYTEARRAY_TEST Cost: 563 Bytes: 57,247 Cardinality: 23
是的,解聚剂有索引
SELECT STATEMENT ALL_ROWSCost: 242 Bytes: 595 Cardinality: 5
3 SORT ORDER BY Cost: 242 Bytes: 595 Cardinality: 5
2 TABLE ACCESS BY INDEX ROWID TABLE ACTIVITI.ACT_GE_BYTEARRAY Cost: 241 Bytes: 595 Cardinality: 5
1 INDEX FULL SCAN INDEX ACTIVITI.IDX_COMP_ACGEBYTEARAY Cost: 223 Cardinality: 58
这张桌子有多大?也许这些数据块太大了,以至于甲骨文认为读取该表毕竟没什么大不了的。该表有250万条记录。选择Blob将进行完全表访问。不使用任何索引可能是因为表上的可用索引看起来不会为运行查询提供任何显著的好处。是否有部署\u ID\u的索引?使用索引的查询的计划是什么,例如从ACT\U GE\U BYTEARRAY中选择/*+INDEXACT\U GE\U BYTEARRAY*/*在ACT\U GE\U BYTEARRAY中,部署\U ID=1234按名称排序\uuyes解聚\u ID\uuuuuu具有索引。SELECT语句所有行成本:242字节:595基数:5 3按成本排序顺序:242字节:595基数:5 2按索引访问表ROWID TABLE ACTIVITI.ACT\U GEU BYTEARRAY成本:241字节:595基数:5 1索引完全扫描索引ACTIVITI.IDX\U COMP\U ACGEBYTEARY成本:223基数:58