0

我有 5 个包含数百万行的表。问题是我需要创建一个菜单,甚至将来可能会扩展更多。对此表的选择查询是我网站的核心。任何访问我的网站的人都会对服务器进行十几个选择查询。在这种情况下可以实现的最佳架构设计是什么?

  1. 使用索引和缓存。
  2. 生成所有用户都可以使用的 XML 或 JSON,而无需每次都查询数据库。[可以通过 cron 作业生成 XML 或 JSON,我的行不会每 5 分钟更改一次]。

或者还有其他好的解决方案吗?即使批评我上面提到的方式也是一个有效的答案。

PS:如果解决方案可以在于更好的软件架构,我很乐意不投资更多的服务器功能。

4

2 回答 2

0

我建议使用 APC 用户缓存来存储经常使用的数据,但如果您的查询是按用户定制的,那可能不是可行的方法。

于 2012-05-24T07:50:48.513 回答
0

您要做的第一件事是正确索引您的表,使用类型字段int来连接您的表,将query_cache_size设置为 512 MB(可能更多,但这已经足够了),使用 APC 用户缓存。如果您使用for循环而不是

for ($i = 0; $i < count($arr); $i++)

做类似的事情:

$count = count($arr);

for ($i = 0; $i < $count; $i++)

这不是一个完整的指南,但它是基础知识。

于 2012-05-24T07:57:20.337 回答