MySqlテーブルの最後のレコードを取得したいのですが、テーブルには250万行があります。最後の行を効率的に取得するにはどうすればよいですか?
順序と制限を使用していますが、クエリは約15秒実行されます。この値をほぼゼロに減らす必要があります。
私のSQLクエリ:
SELECT id FROM table1 WHEREscenedevice_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 ;
ありがとう。