【发布时间】:2020-12-13 03:10:12
【问题描述】:
在my previous question 之后,我现在正尝试从我的数据库中删除重复项。我首先运行一个子查询来识别几乎相同的记录(唯一的区别是索引列“id”)。我的表大约有 900 万条记录,下面的代码必须在大约 1 小时 30 后中断
DELETE FROM public."OptionsData"
WHERE id NOT IN
(
SELECT id FROM (
SELECT DISTINCT ON (asofdate, contract, strike, expiry, type, last, bid, ask, volume, iv, moneyness, underlying, underlyingprice) * FROM public."OptionsData"
) AS TempTable
);
从子查询生成结果大约需要 1 分钟,因此运行完整查询可能需要很长时间 (?) 或者我的代码中是否有问题?
【问题讨论】:
-
你有多少副本?
-
记录总数:8'764'239 子查询表明:8'681'440 条唯一记录 所以 82'799 重复 Humm 然后假设 1 秒删除一条记录,这几乎需要23 小时 (?)
标签: sql postgresql duplicates