我有一张桌子:
CREATE TABLE `p` (
`id` BIGINT(20) unsigned NOT NULL,
`rtime` DATETIME NOT NULL,
`d` INT(10) NOT NULL,
`n` INT(10) NOT NULL,
PRIMARY KEY (`rtime`,`id`,`d`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)
我对此表运行的查询是:
SELECT id, d, SUM(n)
FROM p
WHERE rtime BETWEEN '2012-08-25' AND DATE(now())
GROUP BY id, d;
Run Code Online (Sandbox Code Playgroud)
我explain
在一个小表(2 条记录)上运行这个查询,它告诉我它将使用我的主键索引:
id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra
1 | SIMPLE | p | range | PRIMARY …
Run Code Online (Sandbox Code Playgroud)