• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql中count目录_mysql

mysql 搞代码 7年前 (2018-06-08) 174次浏览 已收录 0个评论

mysql中count索引

今天在群里面遇到一个人问的问题

mysql中count目录_mysql
 

他只问了一个问题:为何查询了主键,却没有使用主键索引,因为我对这方面不是太了解,所以引出了如下几个问题

1、count(*)走了索引

     count(*) count(1)会使用覆盖索引(Using index)

    (Using index : 列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全部的请求列都是同一个索引的部分的时候)

2、count(col)当col为索引字段并且where条件使用此字段时会走索引,否则不会

3、为什么默认使用了idx_createtime索引

     试验方法:

                   (1)增加title索引,发现依旧使用createtime,而title的key_len为603,createtime为9
                   (2)去掉title索引,增加isDel索引,发现默认使用了isDel,key_len为2,且与主键索引相同,
      结论:默认会使用key_len最小的索引,#遗留问题,为何普通索引和主键索引key_len相同而使用了普通索引

 

4、表没数据的情况下Impossible WHERE noticed after reading const tables
会出现这个情况,百度出来的结果是因为数据位空的原因,当不为空时会出现Using where;Using index

 

 

下面提供下表的创建:

 

CREATE TABLE `cms_content` (   `contentid` int(11) NOT NULL AUTO_INCREMENT,   `title` varchar(200) DEFAULT NULL,   `xmlInfo` text,   `xmlContent` mediumtext,   `createTime` datetime DEFAULT NULL,   `uploadTime` datetime DEFAULT NULL,   `proposeSpecCode` varchar(10) DEFAULT NULL,   `isDel` bit(1) DEFAULT NULL,   `isUpdate` int(11) DEFAULT '0',   PRIMARY KEY (`contentid`),   KEY `pk_content_proposeSpecCode` (`proposeSpecCode`),   KEY `idx_createtime` (`createTime`) ) 

 

 

测试用到的sql

EXPLAIN SELECT * FROM cms_content;

 

EXPLAIN SELECT contentid FROM cms_content;

 

EXPLAIN SELECT title FROM cms_content;##不会索引

 

EXPLAIN SELECT COUNT(*) FROM cms_content;

 

EXPLAIN SELECT COUNT(1) FROM cms_content;

 

EXPLAIN SELECT COUNT(*) FROM cms_content WHERE title=’11’;

 

EXPLAIN SELECT COUNT(*) FROM cms_content WHERE contentid=11;

 

EXPLAIN SELECT COUNT(contentid) FROM cms_content;

 

EXPLAIN SELECT COUNT(isDel) FROM cms_content

 

 

 

 

 

 

 

    

 

 

 

欢迎大家阅读mysql中count目录_mysql》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql中count目录_mysql

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址