嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2015-01-15 2037 次浏览 标签 : Mysql

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

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 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表