在我的应用程序中,有一个QThread,线程正在转储一些大型对象(100 my )。我如何解决这个问题(不阻塞主线程)?我认为将我的对象序列化为string需要时间,它需要GIL,最终阻塞主线程。(我知道,写入文件并不需要GIL)。编辑:我尝试了multiprocessing模块,但是通信时间(跨进程传递共享内存变量)也需要1~2秒,这最终没有带来任何好处。
我在MySQL 5.6中构建了一个连接20个表的大型查询。当我在Mac5.6的本地副本上运行查询时,我得到了1-2毫秒的响应时间。当我在Ubuntu上的mysql 5.5上运行相同的查询(通过MySQL转储使用相同的数据)时,我得到了60秒的响应时间。我对缓慢的查询运行了分析,发现几乎整个60秒都花在了“统计”阶段。“统计”阶段显然是MySQL决定如何最好地执行所有连接的阶段。
MySQL 5.6如
我需要导入维基百科转储(mysql表,解压的文件需要大约50 to )到Hadoop(hbase)。现在,我首先将dump加载到mysql中,然后将数据从mysql传输到hadoop。但是将数据加载到mysql需要大量的时间--大约4-7天。是否可以将mysql转储直接加载到hadoop中(通过转储文件解析器或其他类似工具)?