我有一个列表,我需要从中查询相应的信息。我可以做:
for i in list:
database.query(infomation==i).fetch()
但这太慢了,因为对于列表中的每个元素,它都必须转到数据库,然后返回,重复,而不是一次查询所有内容。有没有办法加快这个过程?
您可以使用the ndb async operations来加快代码速度。基本上,您将几乎并行启动所有查询,然后对结果进行处理,这可能会导致整体执行速度大大提高,尤其是在您的列表很长的情况下。遵循以下原则:
futures = []
for i in list:
futures.append(
database.query(infomation==i).fetch_async())
for future in futures:
results = future.get_result()
# do something with your results
[使用上述文档中描述的异步操作有更高级的方法,根据实际代码的结构,您可能会发现它们很有趣。