我有一个查询,用于获取某些 IP 地址的互联网流量统计信息。
有单独的 IP 地址字段hosts
和称为 的 IP 块assignments
。数据每隔 5 分钟存储一次。
查询结果按时间列分组,并且使用这 5 分钟间隔内和外的总 SUM 绘制图形。
该表被调用traffic
并包含(在月底)大约 2100 万条记录。
SHOW CREATE table traffic:
CREATE TABLE `traffic` (
`type` enum('v4_assignment','v4_host','v6_subnet','v6_assignment','v6_host') NOT NULL,
`type_id` int(11) unsigned NOT NULL,
`time` int(32) unsigned NOT NULL,
`bytesin` bigint(20) unsigned NOT NULL default '0',
`bytesout` bigint(20) unsigned NOT NULL default '0',
KEY `basic_select` (`type_id`,`time`,`type`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)
SELECT traffic.time, SUM(traffic.bytesin), SUM(traffic.bytesout) FROM traffic
WHERE (
( traffic.type = 'v4_assignment' …
Run Code Online (Sandbox Code Playgroud)