优化:在哪里处理数据?数据库,服务器还是客户端?

rap*_*dko 5 php mysql optimization

最近我一直在考虑优化。我正在开发一个应用程序,使我考虑平衡服务器负载,内存,客户端,负载,速度,大小等时,应该在哪里处理数据。

我想更好地了解经验丰富的程序员在考虑处理时如何优化其代码。采取以下3种选择:

  • 当我获取数据时,在数据库级别进行一些处理。
  • 在PHP上处理数据
  • 将原始数据传递给客户端,并使用javascript处理。

你们在哪个场合更喜欢哪个?为什么?对这个广泛的问题感到抱歉,如果有人可以向我推荐有关此方面的出色阅读资料,我也将非常感谢。

sri*_*ant 3

数据库是任何应用程序的核心,因此您应该尽可能减轻数据库的负载。这里有一些建议

  1. 仅从数据库中获取必填字段。
  2. 两个简单查询比单个复杂查询更好。
  3. 从数据库获取数据,使用 PHP 进行处理,然后将处理后的数据存储到临时存储中(例如缓存,例如 Memcache、Couchbase、Redis)。该数据应该设置一个到期时间,到期时间完全取决于数据类型。缓存将在很大程度上减少数据库负载。
  4. 数据以标准化形式存储。但是,如果您事先知道将请求数据并且生成该数据需要连接多个表,那么可以提前将处理后的数据存储在单独的表中,并可以从此表中提供服务。
  5. 在客户端发送尽可能少的数据。较小的 HTML 大小将节省带宽,浏览器将能够快速呈现页面。
  6. 按需加载数据(使用ajax、延迟加载等),例如,在用户单击选项卡之前,图像在页面上不可见,该图像应在用户单击时加载。