首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >插入忽略一段时间内的效率

插入忽略一段时间内的效率
EN

Stack Overflow用户
提问于 2011-12-29 05:48:32
回答 2查看 326关注 0票数 1

情况是这样的

随着时间的推移,我将有一个大约有40-50,000条记录的MySQL数据库。这些记录是从一个文本文件(通过PHP脚本,在网页上的按钮被按下后)中提取的,该文本文件每天从另一个部门(不在我手中)更新(附加) 2-3次。我必须在数据库中插入这些新记录(当我的网页上的按钮被按下时),并忽略已经存在的记录。为此,我使用"Insert Ignore"语句。

我的问题是,当记录增长时(4万到50000),"Insert Ignore"语句是否会花费很长时间执行(我的浏览器超时是5秒,我不能超过5秒)。一次更新的唯一记录永远不会超过300条,而我的表只有2列(如果有关系的话)。这个系统现在运行得很好,但我想为未来做好准备。我没有办法测试他,所以如果有人能根据他/她的经验告诉我,我将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-29 05:53:44

对于INSERT IGNOREINSERT ... On DUPLICATE KEY UPDATE,我有一个繁重的名称/值系统。当表格变得很大时,我正在“拆分”今天的信息(更新很重)和归档。

此外,我不知道您的系统设计是什么,但在我的系统(简单名称/计数器)中,我保存了一周的详细信息,并对归档进行了分组,以获得更小和更少的行。

祝好运!

票数 1
EN

Stack Overflow用户

发布于 2011-12-29 06:03:03

一个包含50k记录的表应该不会给您带来这样的性能问题。如果你有五千万,我可能会改变主意。

正如Moshe L所指出的,有几种方法可以做到这一点。这里有一篇文章的链接,该文章测量了一个包含900万条记录的数据库中的performance of ON DUPLICATE KEY vs. INSERT IGNORE。根据这一点,你走上了正确的道路。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8661682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档