1. 问题描述 在做爬虫的时候,数据量很大,大约有五百百万条数据,假设有个字段是conmany_name(拍卖公司名称),我们现在需要从五百万条数据里面查找出来五十家拍卖公司,
并且要求字段 time(时间) 大于7月一号,小于10月31号。
2. 问题解决 我们首先想到的解决办法是添加索引,对拍卖公司字段添加索引,但是因为日期是大于7月1号,小于10月31号,在这里用索引的效率很低,
并且要重复的查询出来五十家公司,效率很低,有没有好的解决方案呢???
3.解决问题思路 1.查询五百条数据,我们会发现内存不够用,这时候我们只查询一百万条数据,分五次处理完毕。 2.因为这一百万条数据在内存中,把这一百万条数据放到list中去,同时把五十家拍卖公司组合成字符串,然后for循环每一条数据,
比较拍卖公司是否在字符串中,比较日期是否大于7月一号,小于10月31号。这样去处理,避免数据查询的速度慢。提高数据处理效率。 4.感想: 好的解决问题的思路胜过好的解决问题的人