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

时间:2016-03-18 11:10:28

标签: php mysql optimization

我想使用sphinx / solr / elastic搜索在RAM中存储大块数据,以满足其他任何需要(问题是我不知道哪种工具最适合我只听说人们使用它们)。

我建立了有关销售的报告,我每月的销售额接近800-900k,用户希望滚动页面并顺利查看。

我无法立即向他们提供所有数据,因为浏览器只会挂起  同时我无法使用mysql中的LIMIT,因为查询需要合并交叉表。

不能在流程上重新计算它。

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

当我需要提供一百万行信息时,我首先要考虑切片和切块的方法 - 按小时,按地区,按产品类型,按任何方式进行小计。每个切片可能是一百行 - 非常易于管理,尤其是汇总表。

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

通过适当的切片和切割,您不太可能需要向他发送一百万行;只有几百个。

使用合适的摘要表," tmp表"等会消失。

相关问题