我想获取 MySql 表中的最后一条记录,但该表有 250 万行。如何有效地获得最后一行?
我正在使用订单和限制,但查询运行约 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 ;
谢谢。