3,491
社区成员
发帖
与我相关
我的任务
分享
create table dba_object_testIndex as select * from dba_objects t ;
update dba_object_testIndex t set t.object_id = 40000 where t.object_id > 40000 ;
dba_object_testIndex
表中,大约有8W条记录,然后我将object_id>40000的记录的object_id全部更新为40000,那么这个时候,我在object_id上建立btree索引。那么这个时候,如果我去查询SELECT * FROM dba_object_testIndex T WHERE T.OBJECT_ID = 1000
时,走INDEX_RANGE_SCAN显然是最合适的执行计划,而对于SELECT * FROM dba_object_testIndex T WHERE T.OBJECT_ID = 40000
时,走TABLE_ACESS_FULL肯定是最好的选择,因为这个sql差不多取出了整个表一半的数据。