我有一个路由文件。当用户访问site.com/page时,我的路由会调用SQL DB,然后解析结果并将其作为JSON返回。然后我用
subprocess.call(['cp','-r','./testdir1/*','./testdir2/'], shell = False)
将数据发送到视图。问题是我的数据相对较大,需要永远发送到视图。我100%肯定这是让我的页面运行缓慢的原因。当我将数据集切成两半时,它显示得更快。我也知道这个数据的实际显示也是一个因素,但我严格关注它从路由传递到视图的速度。
传递一堆小块而不是一块大块是否更有效?围绕这个的唯一方法是逐步传递小块吗?
答案 0 :(得分:1)
将数据传递给视图的速度并不是很慢 - 可能发生的情况是模板引擎只需要一段时间来呈现您提供的数据。数据本身永远不会留下内存,因此没有“复制”操作。
加速这样的事情的最好方法是使用像AJAX或websockets这样的东西。
这是一个典型的流程:
这通常是处理大量数据显示的最佳方式,因为用户感觉事情非常快,即使它们非常慢 - 页面加载速度快,数据显示速度快等。