私は自分のウェブサイトの各ユーザのクリック時間を記録する方法を研究しています。何百万ものMySQL行を扱っています
私は現在、これについて行く方法を考えようとすると60万以上のレコードを持っています。
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 ;
これらの検索はページごとに10回行う必要があります。私のブログは10ページのスニペットを一度に表示します。
SELECT time
FROM clicktime
WHERE `page` = '112'
AND `user` = 'admin'
ORDER BY `id` ASC LIMIT 1
それは私になってきたように見えるコール、私はより速く、この作業を行うことができますどのようにWHERE page = '112'
あり、各呼び出しを引っ張って3秒まで取っていますか?
あなたのテーブルは大部分が読み込まれているのか、ほとんど更新されていますか? – desbest
ほとんどが読まれています。決して更新されませんでした。 –
将来的にあなたの怒りを避けるために、下り手が気をつけますか? – eggyal