Я работаю над тем, как записывать время кликов для каждого пользователя на моем сайте.Работа с миллионами строк 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 секунд, чтобы тянуть каждый вызов?
Ваша таблица в основном читается или в основном обновляется? – desbest
В основном прочитано. Никогда не обновляется, только добавляется. –
Помощник Downvoter, чтобы помочь всем нам избежать вашего гнева в будущем? – eggyal