优化插入/更新大型行的最佳方法

时间:2015-02-26 17:27:25

标签: mysql sql optimization insert-update

我可能会交叉发帖,但我认为这是一个常见的问题 - 在我的搜索中没有找到任何正确的内容。

我的任务就是这样 - 我有一个数据源流式传输"更新"和#34;新票"到MySQL的门票集合。每张票都有一个唯一的Ticket_ID。

基本上,我需要进行这些更新,并对票证表进行插入/更新。很简单。

问题在于,每天有3,000行要插入/更新这个不断增加的列表,目前为300,000,可能会扩展到100万。

幸运的是,在30天之后,我知道票证无法再次更新,因此也许可以将其移至存档。尽管如此,每天3000行对一个月的数据,通常是90,000行。这只需要很多时间。我还没有检查确切的数字,但可能是30分钟到一个小时,也许更长。

如何优化插入/更新的过程,根据定义,它必须针对现有Ticket_IDs的数据库查找每个传入的Ticket_ID?

插入/更新过程是否是最好的?

主要问题是插入/更新过程一次只能运行一次 - 与10+(只是插入)进程同时运行相反,然后1删除重复进程。

或者是否有一种创造性的方式...查找ticket_ids,其中count(*)> 1 - 删除带有旧时间戳的那个 - 这可以节省一些时间吗?

我知道这是一个复杂的问题,但它似乎是一个常见的问题。感谢。

0 个答案:

没有答案