评级查询结构与流程经济

时间:2009-11-24 22:14:28

标签: php mysql

我正在尝试在我的网站前面显示整体评分,虽然我的网站和数据库现在都很小,但我认为这个查询和流程可能会因为这个表变大而陷入困境。

目前,我使用的评分很容易,因为我的查询是:查找此ID的所有记录,提取所有评分并对其进行平均。

我现在要做的是一个查询:查找所有记录,无论ID如何,按ID排序,平均每条记录的任何现有“评级”,保持评级在某处具有相关ID,然后在顶部截止10条记录。

现实世界中的这个中间区域就像“草稿纸”,我不知道如何解决这个问题。嗯,我知道,但是所有剩下的结果都不属于我想要的那个看起来像浪费的过程?

我不知道..我记得一个人曾经谈过memcache或者其他什么。这是我正在寻找的“便笺簿”吗?

谢谢, 罗布

1 个答案:

答案 0 :(得分:1)

Memcached肯定可以用于此。它是一种基于存储器(如此快速)的存储和数据方式,并被广泛使用。

基于ram,如果系统重新启动,它就不会持久存在,所以最常见的做法是将它与关系数据库一起用来存储生成成本相对较高的数据/结构,这样可以节省不断重新创建它们 - 当然缓存结果您建议的复杂数据库查询是常用的。

Memcached在您的服务器上作为服务运行。要让PHP能够访问它,您需要安装pecl memcache扩展。在您的代码中,您实例化其memcache类,然后使用set()和get()方法在已知密钥下保存和加载数据。它会自动序列化/反序列化对象,因此您可以设置并获取本机php / objects / arrays等。

略微搁置:我同意你所说的,由于流失的数据量,平均值和概述往往很慢。但是在发生问题之前我会过于谨慎地对此进行优化 - 在此问题出现之前,您可能会更改其他问题,这意味着您不再需要解决此问题,或者您可能永远不会有足够的用户/数据问题,而且往往不是你认为最能影响表现的事情,在你遇到问题之前你无法知道。

我认为你最好先花时间建设流量/用户等等!