使用MySQL 5.5.28版,
我有一个表定义如下:
CREATE TABLE IF NOT EXISTS `groups` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(80) NOT NULL,
`desc` text NOT NULL,
`permissions` varchar(80) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
Run Code Online (Sandbox Code Playgroud)
如您所见,它非常简单.我在id字段上有一个主键.现在,我使用以下内容查询它:
SELECT permissions FROM groups WHERE id IN ('9', '8', '6','14','11','7','5');
Run Code Online (Sandbox Code Playgroud)
不幸的是,它拒绝使用密钥,它出现在我的慢查询日志中.
对它执行EXPLAIN提供:
mysql> EXPLAIN SELECT permissions FROM groups WHERE id IN ('9', '8', '6','14','11','7','5');
+----+-------------+--------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows …Run Code Online (Sandbox Code Playgroud)