暂时能想到三个方法
1.交给数据库处理,数据库设置 UNIQUE
2.交给数据库处理,每次 INSERT 之前执行 SELECT, 但这样随着数据增大 SELECT 次数会不断增加
3.交给语言处理,将已有数据存在数组中,用 in_array 等处理,但是随着数据增加数组会变得非常庞大
暂时想到的三个处理方法,觉得都不是很好
你们会用怎样的方案呢
请用UNIQUE
的索引,在插入时使用INSERT IGNORE
语法
好处是:
1.性能不差,INSERT IGNORE
会自动在UNIQUE
的索引里检查是否有重复项,由于是索引,所以比较发生在内存里
2.好用,成功就返回插入行数,失败就返回0
在你的数据量达到几百万之前,这个方法都还是比较可靠的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。