从数据库获取数据的最佳方式

时间:2010-10-28 23:26:47

标签: sqlalchemy

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

所以我不知道究竟什么是最好的方式,也是最快的。我试图使用joinload加载技术实现一个会话对象并存储一次数据。当数据在客户端时,要终止会话对象。

另一个是两次调用数据库。

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

如果第二种选择更好,哪种加载技术(joinedload,eagerload或subqueryload)更好用。

每次通话都可能是一堆数据。

任何帮助都非常有用。

提前致谢!

1 个答案:

答案 0 :(得分:1)

我不太确定你问的所有这些东西,所以我会尝试两种不同的场景。

  • 如果您需要显示javascript所需的html和数据的数据是相同的 - 您正在执行非常错误的。您只需要为html查询数据库,然后在隐藏字段中构建javascript所需的数据,然后在客户端使用javascript查询html的隐藏字段并使用以前的数据。
  • 如果数据集不同,则显示html后,您可能需要来自客户端的ajax请求。也就是说,另外一个http请求。我说您在第一次调用后关闭数据库连接,然后再次使用下一个http请求重新打开。每个http请求都是独立的,您需要注意在单个请求中打开/关闭连接。 [也就是说,如果你不使用汇集,但这是另一个问题]