gpt4 book ai didi

php - 评级查询结构和流程经济性

转载 作者:行者123 更新时间:2023-11-29 15:06:55 25 4
gpt4 key购买 nike

我试图在我的网站前面显示总体评分,虽然我的网站和数据库现在很小,但我认为当这个表变大时,这个查询和过程可能会陷入困境。

现在,我使用的评级很简单,因为我的查询是这样的:查找该 ID 的所有记录,提取所有评级并对它们进行平均。

我现在想做的是一个查询,它表示:查找所有记录,无论 ID 如何,按 ID 排序,对每条记录的任何现有“评级”进行平均,将评级保存在具有关联 ID 的某处,然后在顶部设置截止值10 条记录。

现实世界中的这个中间区域就像“草稿纸”,我不知道如何解决这个中间地带。好吧,我愿意,但是所有那些落在我想要的十个之外的剩余结果似乎都是一个浪费的过程?

我不知道..我记得有一个人曾经谈论过内存缓存之类的东西。这就是我正在寻找的“便签本”吗??

谢谢,罗布

最佳答案

Memcached 当然可以用于此目的。它是一种基于内存(非常快)的存储和数据方式,并且被广泛使用。

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

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

稍微说一下:我同意你的说法,由于需要搅动的数据量很大,平均值和概览通常很慢。但在出现问题之前我会谨慎对待太多优化 - 在出现问题之前您可能会更改其他内容,这意味着您不再需要解决这个问题,或者您可能永远没有足够的用户/数据来解决这个问题问题,而且通常不是您认为对性能影响最大的事情,除非出现问题,否则您无法知道这一点。

我认为你的时间最好先花在建立流量/用户等上!

关于php - 评级查询结构和流程经济性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1793303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com