gpt4 book ai didi

mysql - 什么是删除重复主键而不是更新它们(保留最新记录)的快速查询?

转载 作者:行者123 更新时间:2023-11-29 23:01:11 26 4
gpt4 key购买 nike

我正在使用 Pentaho Data Integration 将大型 JSON 数据搅拌到 MySQL 数据库中。

无论如何,当然可以选择纯表插入,也可以选择表插入/更新(它将查找要更新的键,如果找不到,则插入该行)。

此数据基本上是工单的当前表示/状态 - 因此我需要根据唯一的工单 ID 更新给定行的所有数据列。

对于 Pentaho,可能还有大多数应用程序,更新比插入慢得多。特别是因为,至少对于此应用程序,您最多可以有 25 个连接同时写入(插入)数据,但只有 (1) 个进程执行查找然后写入。

因此,我宁愿执行以下操作:插入所有数据(大约一天一次)..然后立即运行一个查询,删除所有重复的票证 ID——除了具有最大票证 ID 的那个(又名最新)“更新时间。”

我觉得这样会快得多——并且想知道如何在 MySQL 中实现这一点。我认为这类似于

从 [table-name] 中删除,其中 Ticket_id = Ticket_id 且 update_time < update_time,但我不确定这是否正确或是否需要变量以行间方式比较数据。

最佳答案

我感觉我在另一个页面上找到了这个方法:

DELETE FROM ztable zt
WHERE EXISTS (
SELECT *
FROM ztable ex
WHERE ex.CaseKey = zt.CaseKey
AND ex.recordDate > zt.recordDate
);

关于mysql - 什么是删除重复主键而不是更新它们(保留最新记录)的快速查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28485349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com