为了账号安全,请及时绑定邮箱和手机立即绑定

数据库大量数据update慢,如何克服?

数据库大量数据update慢,如何克服?

达令说 2019-02-24 03:40:08
描述 数据库是postgresql python3 现在有1700万数据,最大ID3000万+ id link data 19001212 www.somelink.com some str 我的任务是爬虫,取出单条数据link id段,爬取数据返回给data. update table set data = %s where id = %s所以update操作需要根据id查询到数据,并返回。我测试了一下单条数据的更新需要0.1s. 我的想法 见识少,求教 下面是我的想法 新建数据库a。从主数据库取任务,在a中create。但是问题是:在主数据中无法识别是否被爬取。因为查询语句select id,link from table where data is null; 尝试新数据库,听说radis很快,不知道合不合适。求教 另外,最佳连接数是多少,之前不懂,做了5-6个连接。结果更新的数据更少,现在只有两个连接,反而很多。一小时2w数据
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

这是个好问题,认真回答的话能写不少。不过鉴于题目给出的信息量过少,就不发散了。

首先,每个更新100ms,你有检查过DB的瓶颈在哪里吗?磁盘慢吗?还是内存不够?不知道瓶颈靠瞎猜,很难解决问题。

其次,我想你的ID一定是有索引的对吧,否则应该更慢些。然后一个简单的改进就是,你不是每个更新都是一个Transaction吧,试一试攒个几百上千个update之后一次提交。

然后就是,我猜你有优化过PG的配置吧,如果没有的话,找这方面的资料看一看,试一试。

查看完整回答
反对 回复 2019-03-04
  • 1 回答
  • 0 关注
  • 1154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信