我正在尝试优化 Oracle 查询。现在它运行得很慢,因为该表有大约 1M 的记录。我有两张桌子,item_location桌子和tariffs桌子。一条item_location记录有一个双键,item_noand item_loc。tariffs记录使用密钥存储,该密钥是tariff_code随机的三位标识符,具有字段import_tariff和export_tariff. item_tariff_code是项目记录的外键tariffs。
为简单起见,这是一个SQLFiddle。
我试图找到item_no与export_tariff' 匹配两个值(包括)的位置。
例如,如果我想查找同时export_tariff等于“1111111111”和“2222222222”的项目,它将返回“12345”,因为这些记录在数据库中:
item_no | item_loc | export_tariff
----------------------------------------
12345 | B1 | 1111111111
12345 | B2 | 2222222222
但由于这条记录,它不应该找到“67890”:
item_no | item_loc | export_tariff
----------------------------------------
67890 | B1 | 1111111111
因为它没有export_tariff“2222222222”。
我已经在SQLFiddle添加了到目前为止我一直在使用的查询。