首页 > 解决方案 > 加快python中的查询/forloop

问题描述

async def alltimegraph(self, ctx):
    async with ctx.typing():
        plt.clf()
        count = 0
        times = []
        plot = []
        async for x1 in self.client.infection_dates.find({}, {"time"}):
            count += 1
            x2 = x1["time"]
            times.append(x2)
            plot.append(count)

        # make up some data
        x = times
        y = plot

        ax = plt.subplot()

        # plot
        plt.plot(x, y)

大家好。我在加速上面的代码时遇到了相当大的困难。

目前它需要大约 5-6 秒才能运行,这太长了!

主要问题是异步 for 循环。但是,我不确定如何加快速度,因为图形计算需要其中的所有内容。我必须遍历我的 mongodb 集合中的 200k 个文档。

任何关于如何加快速度的提示或指示都会受到极大的欢迎。

最初我是在查找文档中的所有字段,现在我通过只查找对我有time很大帮助的字段节省了几秒钟,尽管它仍然很慢。

标签: pythonmongodb

解决方案


推荐阅读