性能比较:SQL vs. Post。

3
我有两个网页,一个包含活动信息的摘要(例如:艺术家、城市、日期),另一个则包含更详细的活动信息(例如:时间、纬度/经度、完整地址)。用户将看到摘要信息,并能够点击以转到详细信息。
就性能而言,最好是从我的第一个页面一次性预加载所有信息,然后通过post方法将附加的详细信息传递到第二个页面上。还是在第一个页面上查询所需的确切数据,然后在第二个页面上再次运行一个查询,这次带回附加数据?
我对任何建议都持开放态度。谢谢。
2个回答

4
在第一页查询所需的数据,然后使用独立的查询获取第二页。这样做可以避免显示过时的数据(这非常重要),而且应用程序的部件更少(这是一个好特点),您可以使用GET方法获取详细页面,以便用户可以将其加为书签(也是一件好事)。数据库将缓存第一个查询中的信息,因此在第二个查询中它可能不会执行很多重复工作。
通常,即使性能是主要关注点,您也希望缓存与应用程序逻辑无关。在将缓存嵌入到应用程序代码之前,值得考虑诸如Web代理和使用Hibernate第二级缓存等非侵入性机制。

0

没有一个答案可以百分之百正确,因为它会根据以下因素而改变:(1)您拥有的数据量(例如:摘要页面上有多少结果,您的数据库中有多少事件总数?)(2)您拥有的服务器数量(3)您拥有的流量数量(4)您的软件架构(例如:什么数据库、Web服务器等)以及(5)您的网站如何使用(例如:用户通常会从摘要页面点击1或2个结果,还是可能会点击20或30个?)。 (6)您是否愿意为速度而牺牲准确性?(即:数据有多频繁更改,对于您的用户获取绝对最新信息有多重要?)等等等等,----

也许您最好的选择就是为每个页面加载所需的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接