什么更快?从数据库中检索数据或从文本文件中检索数据?

时间:2011-07-27 18:51:01

标签: database optimization filesystems

我正在创建一个包含许多不同元素的页面,并且当您将鼠标悬停在每个元素上时我想显示工具提示。有数千个元素,因此需要使用ajax记录每个工具提示的信息。

我想知道是否更好地保存mysql数据库上的所有工具提示信息并使用一个ajax请求检索所有necesery信息,或者最好是将每个工具提示保存到单独的文件,并在需要时将每个文件保存为ajax。

4 个答案:

答案 0 :(得分:1)

是否将信息存储在数据库或平面文本文件中的选择可以与选择是一次检索所有值还是一次检索所有值进行正交选择。

话虽如此,你可以考虑以下两点:

  • 一次检索所有内容,如果有大量数据,可能会降低页面的响应速度
  • 一次检索一个可能会减慢每个项目的速度,并导致多次调用服务器

可能是一个好的解决方案是将工具提示分组为可能在同一时间访问的串(即,页面的每个部分的组)。然后,您可以检索具有所需工具提示的组,并且它将获取用户之后不久可能需要的所有工具提示。

另一种选择是通过javascript文件(而不是通过ajax)检索工具提示,然后在加载页面后异步加载文件。页面将显示,当用户第一次查看时,工具提示可以在后台加载。如果我没记错的话,这也会让浏览器缓存数据(js文件),这样如果用户回到同一页面就不需要重新加载信息(即缓存而无需你做任何工作得到它。)

关于db与文本文件的决定,文本文件通常会更快。但是,我会更多地基于您何时/何时可能更改工具提示做出选择。如果您在更改工具提示时需要推送新版本的应用程序,那么平面文件是一种合理(且简单)的选择。如果您希望能够动态更改工具提示(这似乎不太可能),那么数据库可能是更好的选择。无论哪种方式,您选择何时加载工具提示的选择以及它们中的多少可能会掩盖数据库和平面文件之间的差异。

答案 1 :(得分:0)

性能方面,文本文件可能会更快;因为您不会产生让服务器端页面命中数据库并将数据返回给客户端的开销。只需很少的开销即可直接读取文本文件。

答案 2 :(得分:0)

DB会比单独的文件更快,因为它会缓存结果。要么使用DB,要么使用一个文件。

答案 3 :(得分:0)

我会说带缓存的SQL数据库是你最好的选择: 看到这样的事情 http://www.troywolf.com/articles/php/class_db/