我正在努力记录网站上每个用户的点击次数。
在尝试考虑这种方法时,我目前有600,000多条记录。
CREATE TABLE IF NOT EXISTS `clicktime` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`page` int(11) DEFAULT NULL,
`user` varchar(20) DEFAULT NULL,
`time` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=686277 ;
每页我必须完成十次这样的搜索。我的博客一次显示了十页的片段。
SELECT time
FROM clicktime
WHERE `page` = '112'
AND `user` = 'admin'
ORDER BY `id` ASC LIMIT 1
看起来像是我的电话是WHERE page = '112'
如何更快地完成这项工作,每次通话最多需要3秒钟?
答案 0 :(得分:2)
虽然有很多事情可以在这里做得更好(例如暂时是bigint),但短期内帮助你的事情只是在你的user
字段上添加一个索引。