求思路遇到项目的一些问题。php

2016-06-27 10:26:27 +08:00
 yggdrasil

批量名单导入

一次 5 万条的数据导入,都需要入数据库。 (一行一个 QQ 号码,有 txt 与 excel 格式) 要考虑的问题有,如果导入的数据中在数据库有记录就做加分或者减分。 没有就新增到数据库中。  应该怎么操作或者实现? 或者解决的思路应该来...   


个人的解决思路也只能一个一个对比数据库,有就加减。没有就新增。 这样可以?
2957 次点击
所在节点    PHP
11 条回复
nine
2016-06-27 10:38:17 +08:00
你的思路没错。
5 万这么少,有问的功夫,写个逻辑都导完了。
如果数据量大,嫌慢加个索引就好。
我这边每天一千万条都是这么入库的
fising
2016-06-27 10:40:02 +08:00
3-4 行 bash 搞定。。
chuhemiao
2016-06-27 10:40:59 +08:00
php 脚本
cdwyd
2016-06-27 10:41:24 +08:00
才 5 万,直接按你的思路来也没多久吧。除非你数据库原来有很多数据
yggdrasil
2016-06-27 10:44:16 +08:00
是一次导入 5 万,后面还有数据。 主要是如果数据库有记录的话就做加减,只能一个个对比。 这里怎么操作?
realpg
2016-06-27 10:44:31 +08:00
if mysql

CREATE TABLE `qq` (
`qq` BIGINT UNSIGNED NOT NULL ,
`score` INT UNSIGNED NOT NULL ,
PRIMARY KEY ( `qq` )
) ENGINE = INNODB;


INSERT INTO `qq` (`qq`,`score`) VALUES (`{$qq}`,0) ON DUPLICATE KEY UPDATE `score` = `score` +1;
realpg
2016-06-27 10:45:59 +08:00
五万条数据 IO 好一点的 PC 机服务器也用不了一秒……
Light3
2016-06-27 11:46:31 +08:00
5W 阿 你就照瞎里写 没啥事。。
kevinroot
2016-06-27 12:40:56 +08:00
数据重复量大吗?先用 php 跑一遍把该加减都处理了,然后直接插数据库
yggdrasil
2016-06-27 12:49:02 +08:00
数据量应该不会很大,思路有了些. 别学别想... 上面那个 SQL 不错学习了。
programgou
2016-06-27 12:59:44 +08:00
excel 转成 csv 应该速度还更加快一点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/288524

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX