EXPLAIN
SELECT a.id, a.name, a.received, a.oper, a.cell, a.signal, a.net, a.ip, a.usage_day, a.usage_week, a.usage_month
FROM ravenmon a
WHERE a.id in (SELECT MAX(b.id) FROM ravenmon b GROUP BY b.name)
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY a ALL NULL NULL NULL NULL 3774 Using where
2 DEPENDENT SUBQUERY b index NULL name_2 56 NULL 3774 Using index
----
explain
SELECT MAX(b.id) FROM ravenmon b GROUP BY b.name
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE b range NULL name_2 52 NULL 9 Using index for group-by
suoritettuna
8 total, Query took 0.0003 sec
---
EXPLAIN
SELECT id, name, received, oper, cell, signal, net, ip, usage_day, usage_week, usage_month
FROM ravenmon
WHERE id in (3784, 3783, 3777, 3779, 3778, 3781, 3782, 3780)
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE ravenmon range PRIMARY PRIMARY 4 NULL 8 Using where
suoritettuna
8 total, Query took 0.0008 sec
----
CREATE TABLE IF NOT EXISTS `ravenmon` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`received` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`name` varchar(50) NOT NULL,
`oper` varchar(50) DEFAULT NULL,
`cell` varchar(200) DEFAULT NULL,
`signal` int(11) DEFAULT NULL,
`net` varchar(10) DEFAULT NULL,
`chan` varchar(10) DEFAULT NULL,
`ip` varchar(20) NOT NULL,
`devid` varchar(30) NOT NULL,
`imei` varchar(30) NOT NULL,
`sim` varchar(30) NOT NULL,
`usage_day` int(11) NOT NULL,
`usage_week` int(11) NOT NULL,
`usage_month` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name_2` (`name`,`id`),
KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3784 ;