在多个子分区上有效查询

时间:2014-01-16 10:44:19

标签: sql partition

我有一个每天创建数百个子分区的数据库。这些分区名为P_20140116_00001, P_20140116_00002,等。我们假设这些00001 - 99999是来自多个品牌的特定类型的汽车。

现在,我有一个在一天结束时运行的选择查询,但我觉得它不是最佳的;我确实提供了几个过滤器,其中包括日期。但是,我知道在运行查询之前数据所在的几个特定分区,但我让查询遍历所有分区(我认为)。我可以通过运行另一个(非常简单/快速)嵌套查询来指定所需的分区。我只是不知道这是否更有效,但感觉就像它会。以下示例:

例如,我想要计算今天售出的所有大众汽车。我现在选择的查询只指定索引字段'品牌'是大众汽车,今天使用的分区是。但是,我知道只有00003, 00103, and 00203Volkswagen的类型,这意味着只会有数据导致这3个分区的结果。

我的问题是:

  • 此查询是否会在当天所有其他子分区中运行所有数据,即使我知道查询无法获得任何匹配?
  • 我是否可以通过执行P_[sysdate]_[substring in (select type_id from db.types where name = 'Volkswagen')] ?
  • 之类的操作来定位我知道所需数据所在的分区
  • 这会提高查询的效率吗?
  • 还有另一种方法可以比我现在更有效地获得理想的结果吗?

非常感谢您提供的信息!

0 个答案:

没有答案