每次加载页面时查询我的数据库是否安全?

时间:2018-02-27 15:49:10

标签: mysql sql database oracle web

意味着我网站中的每个页面都会从数据库中查询内容。

查询本身非常小,加载所需的时间不明显,但我想知道是否可以为每个页面执行此操作,因为我不太了解如何查询数据库的工作原理是否多次这样做,以及在我的情况下,每次加载页面都会对任何事情产生重大影响。

3 个答案:

答案 0 :(得分:2)

与所有事情一样,答案是它取决于。: - )

您访问的大多数网站在每次加载页面时都会从数据库中查询内容。如果查询很好,他们只查找他们需要的数据,并避免扫描大数据库。您可能希望我的演示文稿How to Design Indexes, Reallyvideo)来帮助解决此问题。

另一种策略是在RAM中使用快速缓存来获取经常需要的数据。 RAM比磁盘驱动器快数千倍。您可能希望熟悉Numbers Everyone Should Know。这些数字只是示例,但目的是让程序员考虑这样一个事实:当你使用RAM与磁盘vs.network与CPU时,移动数据的成本会有所不同。

P.S。:请不要误以为你不擅长计算机,因为你是一个女人。无论性别或背景如何,每个人都是初学者。只有通过实践和学习,我们才能学到这些东西。我建议看Hidden Figures,这是为NASA开创数学和编程的女性的故事。

另一位着名的女性是Margaret Hamilton,她实际上发明了软件工程专业。"

答案 1 :(得分:1)

是的,您可以在每次加载页面时查询数据库。

想想像Facebook这样的网站。当您访问该站点时,它需要知道您是谁 - 它从数据库中获取。它需要知道它将向您展示的所有状态更新 - 它从数据库中获取。当你点击新闻提要的底部并且它会让你阅读更多内容时 - 它会从数据库中获取。

答案 2 :(得分:0)

这是正常的。大多数Web应用程序必须在每次页面加载时查询数据库(通常是几次),因为大多数页面内容都来自数据库。

如果您关注性能,请考虑一下:每个页面的查询是否不同?或者是一遍又一遍地加载相同的数据?如果它一直在查询相同的内容(比如当前用户的名称),则可以通过将数据存储在应用程序的会话状态来提高性能。但如果它不同(例如用户有多少条未读消息),则每次都需要运行查询。