架构从MySql Server处理大数据的问题

时间:2012-05-24 07:36:27

标签: php mysql xml json

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

  1. 使用索引和缓存。
  2. 生成可供所有用户使用的XML或JSON,而无需每次都查询数据库。 [可以通过cron作业生成XML或JSON,我的行不会每5分钟更改一次]。
  3. 或者还有其他好的解决方案吗?甚至批评我上面提到的方式也是一个有效的答案。

    PS:如果解决方案可以在更好的软件架构中,我会很高兴不投入更多的服务器电源。

2 个答案:

答案 0 :(得分:0)

我建议使用APC用户缓存来存储常用数据,但如果您的查询是按用户自定义的,那可能就不太可能了。

答案 1 :(得分: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++)

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