Я хочу получить последнюю запись в моей таблице MySql, но в таблице 2,5 миллиона строк. Как эффективно получить последнюю строку?
Я использую порядок и ограничение, но запрос выполняется ~15 секунд. Я должен уменьшить это значение почти до нуля.
Мой SQL-запрос:
SELECT id FROM table1 WHERE scenedevice_id = X AND module_id = Y ORDER BY id DESC LIMIT 0,1
РЕДАКТИРОВАТЬ:Я также пробовал MAX (id ).
РЕДАКТИРОВАТЬ:Вот моя таблица-
CREATE TABLE IF NOT EXISTS `realtimedevicedata` (
`id` int(11) NOT NULL auto_increment,
`scenedevice_id` int(11) NOT NULL,
`module_id` int(11) NOT NULL,
`subid` tinyint(4) NOT NULL default '1',
`value` varchar(30) collate utf8_turkish_ci NOT NULL,
`timestamp` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `scenedevice_id` (`scenedevice_id`),
KEY `module_id` (`module_id`),
KEY `timestamp` (`timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=2428598 ;
Спасибо.