Как получить последнюю запись в MySql с 2,5 млн строк

Я хочу получить последнюю запись в моей таблице 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 ;

Спасибо.

5
задан totten 16 August 2012 в 12:14
поделиться