我所知道的是一个表格statistieken与一个IP,浏览器信息的散列,访问的网址和最后访问日期的时间戳。如何格式化这个mysql查询
我可以从不同的来源编译导致这个查询,唯一的问题是这个查询需要永久(9分钟)完成一个约15000行的表上,所以这个查询是非常低效的。
我想我会以这种错误的方式,但我找不到一个体面的帖子或教程如何使用选择的结果作为获取我想要的结果的基础。
我只想要的是表格中每个条目的概述,该条目与过去12小时内已经浏览了25页以上的结果的散列相匹配。
CREATE TABLE IF NOT EXISTS `statsitieken` (
`hash` varchar(35) NOT NULL,
`ip` varchar(24) NOT NULL,
`visits` int(11) NOT NULL,
`lastvisit` int(11) NOT NULL,
`browserinfo` text NOT NULL,
`urls` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
这是我试图编译到目前为止的查询。
SELECT * FROM `database`.`statsitieken` WHERE hash in (SELECT hash FROM `database`.`statsitieken`
where `lastvisit` > unix_timestamp(DATE_SUB(
NOW(),INTERVAL 12 hour
)
)
group by hash
having count(urls) > 25
order by urls)
我需要这在一个体面的时间来编译,就像<1秒这应该是在我看来,可能的...
那个问题是我没有得到这个人访问过的个人网址 – Tschallacka 2012-08-03 11:58:12
我没有理解任何东西。我刚刚更新了我的查询。 – Jocelyn 2012-08-03 12:02:02
谢谢。现在我明白为什么这个工作,而我没有。谢谢你的启发! – Tschallacka 2012-08-03 12:06:07