我有一个我想要从桌子上拿下的ID列表。我也有一个定义类型,如下所示
CREATE OR REPLACE TYPE "NUMBER_TABLE" as table of number;
所以基本上只是一个数字数组。
我想要做的是使用number_table从表中获取具有匹配主键的所有行。在代码中,类似
select tbl.*
from tbl_myTable tbl
where tbl.id in (select * from table(number_table(12345)))
这有效,但运行速度比
慢得多select tbl.*
from tbl_myTable tbl
where tbl.id in (12345)
查看解释计划报告,这是“(12345)中的tbl.id”的解释计划
以下是“tbl.id in(select * from table(number_table(12345)))”的解释计划
在某些重要领域似乎造成了无端的放缓。无论如何使用这样的索引扫描的id列表?
感谢。