对于采集入库效率的一点建议
目前在新闻入库的时候,做了一次newsid的重复检测。但程序采用的方式是通过select **** newsid=***这种形式来判断的,这样的话,如果数据库里数据比较多的,频繁操作数据库是非常耗时间,虽然DBMS有着一定的优化,但相对直接内存比对还是要慢不少的,而且会让DBMS的使用率非常高,我现在对20W数据进行入库,基本上cpu就稳定在100%。。。。所以建议用空间换效率,在入库的时候将所有的newsid都读取出来,再做重复检测的时候直接做内存对比。
PS:这样内存占用量不是很大,以前做过写过一个bbs采集系统,百万级的时候内存不超过100M,对于风讯的话可以算一下,一个newsid是12个字节的。12*1000000/1024/1024,即便再加上其他开销,这个还是可以接受的