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

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

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

周梦康 发表于 2017-07-20 744 次浏览 标签 : Mysql

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

mysql> show create table headlines_dataflow\G;
*************************** 1. row ***************************
       Table: headlines_dataflow
Create Table: CREATE TABLE `headlines_dataflow` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `headline_type` tinyint(3) unsigned NOT NULL COMMENT '云计算头条|大数据头条',
  `article_id` int(11) unsigned NOT NULL COMMENT '推荐的文章 id',
  `data_type` tinyint(3) unsigned NOT NULL,
  `recommend_uid` bigint(20) unsigned NOT NULL COMMENT '推荐人',
  `title` varchar(255) NOT NULL DEFAULT '' COMMENT '标题',
  `img` varchar(255) NOT NULL DEFAULT '' COMMENT '封面图',
  `abstract` text NOT NULL COMMENT '简介',
  `create_month` mediumint(6) unsigned NOT NULL COMMENT '推荐的月份,需要作为检索条件',
  `create_time` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `data_id` (`article_id`,`headline_type`),
  KEY `headline_type` (`headline_type`,`data_type`),
  KEY `create_month` (`create_month`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8
1 row in set (0.03 sec)

ERROR: 
No query specified

mysql> explain select distinct create_month from headlines_dataflow where headline_type=2;
+----+-------------+--------------------+-------+---------------+--------------+---------+------+------+-------------+
| id | select_type | table              | type  | possible_keys | key          | key_len | ref  | rows | Extra       |
+----+-------------+--------------------+-------+---------------+--------------+---------+------+------+-------------+
|  1 | SIMPLE      | headlines_dataflow | index | headline_type | create_month | 3       | NULL |    5 | Using where |
+----+-------------+--------------------+-------+---------------+--------------+---------+------+------+-------------+
1 row in set (0.04 sec)
mysql> show create table headlines_dataflow\G;
*************************** 1. row ***************************
       Table: headlines_dataflow
Create Table: CREATE TABLE `headlines_dataflow` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `headline_type` tinyint(3) unsigned NOT NULL COMMENT '云计算头条|大数据头条',
  `article_id` int(11) unsigned NOT NULL COMMENT '推荐的文章 id',
  `data_type` tinyint(3) unsigned NOT NULL,
  `recommend_uid` bigint(20) unsigned NOT NULL COMMENT '推荐人',
  `title` varchar(255) NOT NULL DEFAULT '' COMMENT '标题',
  `img` varchar(255) NOT NULL DEFAULT '' COMMENT '封面图',
  `abstract` text NOT NULL COMMENT '简介',
  `create_month` mediumint(6) unsigned NOT NULL COMMENT '推荐的月份,需要作为检索条件',
  `create_time` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `data_id` (`article_id`,`headline_type`),
  KEY `headline_type` (`headline_type`,`data_type`),
  KEY `headline_type_2` (`headline_type`,`create_month`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8
1 row in set (0.04 sec)

ERROR: 
No query specified

mysql> explain select distinct create_month from headlines_dataflow where headline_type=2;
+----+-------------+--------------------+------+-------------------------------+-----------------+---------+-------+------+--------------------------+
| id | select_type | table              | type | possible_keys                 | key             | key_len | ref   | rows | Extra                    |
+----+-------------+--------------------+------+-------------------------------+-----------------+---------+-------+------+--------------------------+
|  1 | SIMPLE      | headlines_dataflow | ref  | headline_type,headline_type_2 | headline_type_2 | 1       | const |    5 | Using where; Using index |
+----+-------------+--------------------+------+-------------------------------+-----------------+---------+-------+------+--------------------------+
1 row in set (0.03 sec)


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

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

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

评论列表