繁体   English   中英

修改mysql数据库以提高效率

[英]Modifying mysql database for efficiency

目前,我受雇于该公司通过mysql进行商店页面访问,以为其客户提供每日流量统计信息。 表结构为:

visit_id,page_id,ts,ip,uri,site_id

到目前为止,共有8500万行。...当只有2200个帐户时。

将统计信息吐给客户端的格式为:

总访问次数:XXXX最近24小时访问次数:XXXX

在保持当前功能的同时对其进行重组的最佳方法是什么?

我猜想访问日期在单独的访问表中,如果对它进行非规范化处理,您将获得更好的吞吐量。

预先计算结果将使您的统计查询运行得更快,以下是您要执行的操作的一般思路。

CREATE TABLE stats_table (
,  site_identifier        INT
,  date_visited           DATE
,  visit_count            INT
,  INDEX(site_identifier)
);

您不必为每次访问插入此表,而是增加访问次数。 然后,您可以像这样查询它:

SELECT site_identifier, visit_count FROM stats_table where date_visited = 'today';

SELECT site_identifier, SUM(visit_count) AS `total_visits` FROM stats_table GROUP BY site_identifier;

您可以结合使用这两个查询,但是分别查询它们会更快。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM