mongoDB和python连接处理数据慢可以考虑用并行计算,单机多线程并行,或者集群并行。集算器提供封装好的并行类库,调用起来比较简单。和mongo、python都比较容易集成,可以理解为mongo的库外存储过程。
一、mongoDB和python连接处理数据慢怎么解决
mongoDB和python连接处理数据慢可以考虑用并行计算,单机多线程并行,或者集群并行。集算器提供封装好的并行类库,调用起来比较简单。和mongo、python都比较容易集成,可以理解为mongo的库外存储过程。
首先:分析任务是计算密集型还是IO密集型。计算密集型任务主要消耗CPU资源,例如解析html文件,计算圆周率等。IO密集的任务,等待存取的时间远大于CPU计算的时间,例如web应用。一个简单不严谨的方法:在代码里面用时间戳计算各部分运行时间,分析是python计算部分缓慢还是存取mongoDB部分缓慢。
其次,若为计算密集型,采用多进程处理或者换C++。IO密集型,采用多线程,mongoDB加索引等。二者的区别和Python具体实现不再赘述,网上有很多资源。
延伸阅读:
二、字符集(Character set)是什么
是多个字符(英文字符,汉字字符,或者其他国家语言字符)的集合,字符集种类较多,每个字符集包含的字符个数不同。
特点:
①字符编码方式是用一个或多个字节表示字符集中的一个字符
②每种字符集都有自己特有的编码方式,因此同一个字符,在不同字符集的编码方式下,会产生不同的二进制
常见字符集:
ASCII字符集:基于罗马字母表的一套字符集,它采用1个字节的低7位表示字符,高位始终为0。
LATIN1字符集:相对于ASCII字符集做了扩展,仍然使用一个字节表示字符,但启用了高位,扩展了字符集的表示范围。
GBK字符集:支持中文,字符有一字节编码和两字节编码方式。
UTF8字符集:Unicode字符集的一种,是计算机科学领域里的一项业界标准,支持了所有国家的文字字符,utf8采用1-4个字节表示字符。