【问题标题】:SQL Server get most popular productsSQL Server 获得最受欢迎的产品
【发布时间】:2018-10-09 14:59:18
【问题描述】:

我有一个简单的问题。在我的主页上,我需要显示前 10 个最受欢迎的产品。我的销售表中有数百万条记录。

我正在考虑在数据库中创建一个索引视图,以便以计算方式维护数据,然后从该视图中查询数据。

你有什么想法?有没有更好的解决方案?

【问题讨论】:

  • 欢迎来到 SO。想象一下,如果一位同事来找你,并以完全相同的方式问你这个问题。你有什么澄清的问题吗?你想要更多的细节吗?或者您是否有信心根据提供给您的少量信息为他们提供解决方案?
  • 什么可衡量的质量会使解决方案对您“更好”?
  • 感谢您的笔记 Tab 我很感激。随时给我建议如何以更简洁的方式提出问题:)
  • 另一件要考虑的事情:什么时候最流行?从您的网站开始?过去一周?如果是后者,您可以简单地将数据限制为更小的数据子集,然后对其进行计算,而无需通过索引/视图/数据仓库箍。毕竟,如果您的销售表上有一个索引,并且每周只有 2000 次销售,那么实时获得“最受欢迎的产品”会变得容易得多。

标签: sql sql-server indexing


【解决方案1】:

索引视图可以很好地解决这个问题...但现在请记住,每次更新 sales 表都会导致视图重新计算。这会使您的销售更新变得非常昂贵/缓慢。

我可能会为此创建一个单独的表,该表只会定期更新。如果您已经有一个数据仓库,那么这就是该表的位置。然后,您可以从这个小得多的表格中提取您的热门产品信息。

【讨论】:

  • 感谢您的回复。所以你暗示要创建一个定期计算数据并填充表格的作业?
  • 没错。然后让任何使用数据的人清楚它可能是陈旧的。
猜你喜欢
  • 2021-07-02
  • 2021-02-20
  • 1970-01-01
  • 2022-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-08
相关资源
最近更新 更多