MySQL 大块数据 - 无需重新计算即可快速访问



我想使用 sphinx/solr/弹性搜索将大块数据存储在 RAM 中,任何其他适合此类需求的东西(问题是我不知道什么工具最适合我只听说人们使用它们)。

建立有关销售的报告,我每月获得近 800-900k 行销售,用户希望滚动页面并流畅地查看它们。

我不能一次给他们所有数据,因为浏览器只会挂起 同时,我无法使用 mysql 的 LIMIT,因为查询需要合并交叉表。

在流上重新计算它不是一种选择。

在mysql中创建临时表是一个坏主意,因为有很多条件,并且多个用户可以查看数据。

 Temporary_table
id   product_id product_count order_id order_status.... .....user_id

有了这样的表,我会将当前用户的所有结果存储在表中,只要用户不进行新查询,我就会将它们保留在那里。但我不喜欢这个解决方案。一定有更好的东西。我觉得它在我的头上。

有什么想法吗?

"

向下钻取",不要"向下滚动"!

当我需要呈现一百万行信息时,我首先会想办法对其进行切片和切块 - 按小时,按地区,按产品类型,按任何分类。 每个切片可能有一百行 - 非常易于管理,尤其是对于汇总表。

在这一百行中将是可点击的项目,将用户带到有关其中一个项目的更详细的页面。 那也会有一百行(或10或1000 - 任何有意义的;但>1000通常是不合理的)。 该页面可能有进一步的链接,可以进一步向下钻取。 和/或横向移动的链接。

通过适当的切片和切块,你不太可能需要给他发送一百万行;只有几百行。

使用合适的汇总表,"tmp 表"等将消失。

最新更新