【发布时间】:2014-06-30 17:42:38
【问题描述】:
您好我正在建立一个php页面,我可以从信用卡终端上传一些csv文件,以显示商店的所有者,今天的销售情况,并进行一些统计。 我在我的数据库中使用 MISAM。
这只是 csv 文件中的一行,用于显示我要处理的信息。
交易日期:22-05-2014 00:00:12;
商店:MCdonalds_denmark;
终端POS:00008101;
最后一个操作数:138;
主机代码:88135;
PAN:4571xxxxxxxxxxx5362;
操作:授权请求;
POS 数据代码:5 - ICC;
数量:70;
收单方:SDID;
交易结果:通过;
如何避免 MySQLi 数据库中的重复值,如果用户不小心上传了 csv 文件两次,文件名并不是真正唯一的,现在我正在使用 mysql 命令检查每一行是否不存在,但这需要大约8 分钟,上传 500.000 行的 csv 文件,当我使用 mysqli 命令不存在时。
我可以看到表格越大,上传速度越慢?随着时间的推移,桌子只会越来越大。
是否有更好的选择,例如在晚上运行 cronjob 来查找重复项,或者避免两次上传同一个文件只是用户的问题。
有没有其他完全不同的工作方法来解决这个问题??
【问题讨论】: