0

我在 701 属性(列)上有数百万条记录的客户表。我收到一个包含一行 700 列的 csv 文件。现在,根据这 700 个列值,我必须从表Customers中提取 id 。

现在一种方法很明显,我在 where 子句中触发了一个包含所有 700 个值的选择查询。

我的问题是,如果我首先使用 where 子句中的一个属性获取一个较小的表,然后根据 where 子句中的第二个属性再次获取......并对所有属性重复此过程,会更快吗?或者您能建议任何其他可以使其更快的方法吗?

4

1 回答 1

0

尝试理解这 700 个属性的逻辑。它们之间可能存在依赖关系,可以帮助将属性数量减少到更“现实”的程度。

然后,我将使用相同的技术来查看是否可以运行较小的查询,这将受益于主表上的索引。每次我将结果存储在临时表中(减少 tmp 表中的行数或行数),为下一步索引临时表并再次执行,直到获得最终结果。示例:如果您有日期属性:尝试隔离年份的所有记录,然后是日期等。

尽量保留复杂的请求,因为它们将针对较小的 tmp 表运行。

于 2017-07-14T03:51:50.470 回答