Sqlalchemy 从数据库获取数据的最佳方法

Sqlalchemy 从数据库获取数据的最佳方法,sqlalchemy,Sqlalchemy,我有一个疑问。每次加载页面时,我都需要从服务器获取两次数据,一次用于呈现HTML,另一次用于获取客户端(javascript)的数据 所以我不知道到底什么是最好的方式和最快的。我试图实现一个会话对象,并使用joinedload加载技术一次性存储数据。当数据位于客户端时,终止会话对象 另一个是调用数据库两次 我不知道哪个更快更好,因为我不知道数据库或服务器是否将第一个调用存储在内存中。如果是这样的话,就不需要两次调用数据库了,对吧 如果第二种选择更好,那么使用哪种加载技术(joinedload、W

我有一个疑问。每次加载页面时,我都需要从服务器获取两次数据,一次用于呈现HTML,另一次用于获取客户端(javascript)的数据

所以我不知道到底什么是最好的方式和最快的。我试图实现一个会话对象,并使用joinedload加载技术一次性存储数据。当数据位于客户端时,终止会话对象

另一个是调用数据库两次

我不知道哪个更快更好,因为我不知道数据库或服务器是否将第一个调用存储在内存中。如果是这样的话,就不需要两次调用数据库了,对吧

如果第二种选择更好,那么使用哪种加载技术(joinedload、WangerLoad或subqueryload)更好

每个电话都可能是一堆数据

任何帮助都会非常有用


提前谢谢

我不太确定你问的所有问题,所以我将尝试两种不同的场景

  • 如果显示html所需的数据与javascript所需的数据是相同的,那么您就大错特错了。您只需查询数据库中的html,然后在隐藏字段中构造javascript所需的数据,然后在客户端使用javascript查询html的隐藏字段并继续使用数据
  • 如果数据集与html不同,则在显示html后,可能需要客户端发出ajax请求。也就是说,一个额外的http请求。我建议您在第一次调用之后关闭db连接,然后在下一个http请求中再次打开。每个http请求都是独立的,您需要注意在单个请求中打开/关闭连接。[也就是说,如果您不使用池,但这是另一个问题]

问题是什么还不清楚,也许你可以重新表述一下。另外,您确定您有性能问题吗?正如他们所说,过早优化是万恶之源。是的,我同意。我没有想过用那种方式去做,但我已经找到了这种方法。