我有一个包含很多标识符的文件,每行一个。我还有一个带有这些 id 超集的数据库。我只想用感兴趣的 id 查询数据库。有没有办法“导入”外部文件,或者我是否必须将所有 300 个值复制到 IN 表达式中?这是一个大数据库。
当然,要么,
VALUES
语句的 CTE 。TEMP
表。这是 CTE 的示例。
WITH t AS (
SELECT * FROM ( VALUES
(1),
(2),
(3)
) AS t(table_id)
)
SELECT * FROM t
JOIN myTable
USING (table_id)
;
Run Code Online (Sandbox Code Playgroud)
只是稍微复杂一点,将它们放入一个临时表中,允许您对其进行索引。如果您有外部文件(取决于格式),您还可以使用外部数据包装器创建一个 FOREIGN TABLE 。在没有索引的情况下尝试一下,然后将其复制到表中,看看索引是否会加快速度。
归档时间: |
|
查看次数: |
321 次 |
最近记录: |