我在
Behold WordPress,Destroyer of CPUs阅读了Jeff Atwood的博客,看到很多人认为每页加载20个SQL查询很多.现在,对于具有自动建议,自动刷新数据,自定义页面和厨房水槽的高动态页面,每页的平均查询量是多少?
举一个简单的例子,Amazon.com几乎可以根据他们认为我会购买的东西来定制我的主页.对我来说,这看起来并不只是对首页使用5个或更少的查询.
我仍然是数据库的新手,所以请告诉我,我是否遗漏了一些明显的东西.
解决方法
您通常可以将所有数据放在两个或三个大查询中,而不是二十个小查询中.最小化查询量与编写最佳查询以最大化性能一样重要,如果不是最重要的话.
当然,您应该始终分析查询计划并针对最佳查询,无论是小型还是大型.
问题是,设计糟糕的网页会执行许多查询,每个小任务一个查询,可以轻松地在一个查询中进行分组.
例如,设计糟糕的stackoverflow可以执行查询以获取它将在主页面上显示的所有问题ID,然后对每个问题执行一个查询以获取摘要和投票.然后你有20个无用的查询.精心设计的将执行单个查询,获取有关它将显示的所有问题的所有信息.
当然,通过良好的缓存可以减少这一切的影响,这是所有大型网站所做的,这样你实际上可以做很多查询并且仍然可以获得不错的性能.