使用数百万个MySQL行

时间:2012-04-28 19:53:04

标签: mysql

我正在努力记录网站上每个用户的点击次数。

在尝试考虑这种方法时,我目前有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秒钟?

1 个答案:

答案 0 :(得分:2)

虽然有很多事情可以在这里做得更好(例如暂时是bigint),但短期内帮助你的事情只是在你的user字段上添加一个索引。