CREATE TABLE `b_review_config` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `device` varchar(20) DEFAULT NULL, `build` varchar(30) DEFAULT NULL, `channel` tinyint(2) unsigned NOT NULL DEFAULT '0', `app_version` smallint(5) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `device_build_appversion_channel` (`device`,`build`,`app_version`,`channel`) ) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8
能查到数据的时候,可以使用到索引,但是在查不到数据的时候则会显示Impossible WHERE noticed after reading const tables
mysql> explain select * from b_review_config where device=1 and build='3.3.0' and app_version=405 and channel=0; +----+-------------+-----------------+--------+---------------------------------+------+---------+------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-----------------+--------+---------------------------------+------+---------+------+------+-------+ | 1 | SIMPLE | b_review_config | system | device_build_appversion_channel | NULL | NULL | NULL | 1 | | +----+-------------+-----------------+--------+---------------------------------+------+---------+------+------+-------+ 1 row in set (0.00 sec)
mysql> explain select * from b_review_config where device=1 and build='3.4.5' and app_version=405 and channel=0; +--+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+ |id| select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +--+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+ |1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Impossible WHERE noticed after reading const tables | +--+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+ 1 row in set (0.01 sec)而实际情况中,我这个查询非常频繁,而且基本上99%都是查的都是没有结果。
嗨,老铁,欢迎来到我的博客!
如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。
[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点、难点、加分点 !