假设PACKAGE_TYPE字段有20个可能的值。因此有20个分区,包括BOX、CARD和DEFAULT分区。当运行上述查询时,分区消除将正确进行,并且只扫描BOX和CARD分区。结果很快。但是,当这样编写相同的查询时:
SELECT * FROM PACKAGE WHERE PACKAGE_TYPE IN (SELECT PACKAGE_TYPE FROM PACKAGE_LIST_TABLE),其中PACKAGE_LIST_TABLE中的列PACKAGE_TYPE包含两个值BOX和CARD。当