gpt4 book ai didi

sql - 容量引起的数据库设计问题

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:04 25 4
gpt4 key购买 nike

我有一个非常通用的数据库问题。我在我的数据库中创建了一个表来跟踪整个网站的点击次数。我的表结构如下:

  • (PK) - 身份证,
  • (FK) - 页面 ID,
  • (FK) - 联系人 ID,
  • 日期

我遇到的问题是,对于大量用户和大量点击数据,此表中的行数在 20-30 百万之间。有没有其他方法可以组织这些数据,使按日期报告更容易?

SELECT P.TITLE, COUNT(DISTINCT(C.ID)) 
FROM PAGES P
INNER JOIN CLICKS C ON C.PAGEID = P.PAGEID
WHERE C.DATE >= 5/1/2013 AND C.DATE < 6/1/2013 AND C.PAGEID = XYZ

最佳答案

这叫做维度设计。

您可以使用像 Pentaho Aggregation Designer 这样的工具来找到合适的聚合(例如按月按客户点击)。

然后使用像 Mondrian + Saiku 这样的 OLAP 工具,它可以动态重写您的查询以在有利时使用聚合。

您应该使用带有整数智能键†(如 20130621)的日期维度表。这使得按日期划分您的访问事实变得容易。

Pentaho Data Integration 可以轻松地对表进行分区。

† 这是您唯一一次应该在维度设计中使用智能键。

关于sql - 容量引起的数据库设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17242483/

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