我所知道的是一個表格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