CREATE TABLE `event` (
`eventId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`urlId` int(11) DEFAULT NULL,
`typeId` int(11) NOT NULL,
`payload` varchar(191) NOT NULL DEFAULT '',
`userAgent` varchar(191) NOT NULL DEFAULT '',
`userIp` varchar(16) NOT NULL,
`platform` varchar(30) NOT NULL DEFAULT '',
`browser` varchar(30) NOT NULL DEFAULT '',
`browserVersion` varchar(30) NOT NULL DEFAULT '',
`country` varchar(191) NOT NULL DEFAULT '',
`region` varchar(191) NOT NULL DEFAULT '',
`city` varchar(191) NOT NULL DEFAULT '',
`age` tinyint(3) NOT NULL DEFAULT 0,
`isMobile` tinyint(1) NOT NULL DEFAULT 0,
`userName` varchar(191) NOT NULL DEFAULT '',
`userId` varchar(64) NOT NULL,
`clientTime` bigint(20) unsigned NOT NULL,
`time` int(11) NOT NULL,
PRIMARY KEY (`eventId`),
KEY `clientTime_sort` (`clientTime`),
KEY `typeId_sort` (`typeId`),
KEY `urlId_sort` (`urlId`),
KEY `select_no_time` (`urlId`,`clientTime`) USING HASH,
CONSTRAINT `event_ibfk_2` FOREIGN KEY (`typeId`) REFERENCES `type` (`typeId`) ON DELETE CASCADE,
CONSTRAINT `fk_url_id` FOREIGN KEY (`urlId`) REFERENCES `url` (`urlId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `type` (
`typeId` int(11) NOT NULL AUTO_INCREMENT,
`label` varchar(30) NOT NULL,
`title` varchar(191) NOT NULL,
`table` varchar(30) NOT NULL,
PRIMARY KEY (`typeId`),
UNIQUE KEY `label` (`label`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `url` (
`urlId` int(11) NOT NULL AUTO_INCREMENT,
`siteId` int(11) NOT NULL,
`url` varchar(225) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
PRIMARY KEY (`urlId`),
UNIQUE KEY `siteId` (`siteId`,`url`),
CONSTRAINT `url_ibfk_1` FOREIGN KEY (`siteId`) REFERENCES `site` (`siteId`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `site` (
`siteId` int(11) NOT NULL AUTO_INCREMENT,
`url` varchar(191) NOT NULL,
PRIMARY KEY (`siteId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Вообще как-то дико странно. Ибо 6 миллионов записей - это ни о чем. И если я загоняю в тестовую таблицу данные и гоняю - оно как то довольно быстро
show indexes from `event`;
event 0 PRIMARY 1 eventId A
event 1 clientTime_sort 1 clientTime A
event 1 typeId_sort 1 typeId A
event 1 urlId_sort 1 urlId A
event 1 select_no_time 1 urlId A
event 1 select_no_time 2 clientTime A
А force index пробовали? Если да - то быстрее работает или нет?
Если кавычки экранировать, то снова
stack-table: команда не найдена
Дополню, что запрос пришлось дополнительно взять в экранированные двойные кавычки, чтобы команда воспринималась правильно