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

问题描述:

我有疑问。每当我加载页面时,我需要从服务器获取数据两次,一次是渲染HTML,另一次是为客户端(javascript)获取数据。从数据库中获取数据的最佳方式

所以我不知道这是最好的方式和最快的。我试图实现一个会话对象,并使用joinedload加载技术一次存储数据。当数据在客户端时,杀死会话对象。

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

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

如果第二种选择更好,哪种加载技术(连接的加载,预载或子查询)更好用。

每个调用都可能是一堆数据。

任何帮助可能是非常有用的。

在此先感谢!

+0

目前还不清楚问题是什么,也许你可以重新解释它。另外,你确定你有性能问题吗?正如他们所说,不成熟的优化是一切罪恶的根源。 – 2010-10-28 23:57:20

我不确定你问过的所有东西,所以我会尝试2种不同的场景。

  • 如果你需要显示所需的JavaScript的HTML和数据的数据是相同 - 你这样做是非常错误。所有你需要做的就是仅仅为html查询数据库,然后在隐藏字段中构造javascript所需的数据,然后在客户端使用javascript查询html的隐藏字段并使用数据。
  • 如果数据集不同,您可能需要之后客户端的ajax请求显示html。也就是说,一个额外的http请求。我说你在第一次调用之后关闭数据库连接,然后再次使用下一个http请求重新打开。每个http请求都是独立的,你需要注意在单个请求中打开/关闭连接。 [也就是说,如果你不使用池化,但这是另一个问题]
+0

是的,我同意。我没有想过这样做,但我已经找到了这种方法。 – bribon 2010-11-16 21:00:21