select  count(id) from cin_offlinemessage where `datetime` >= '2012-03-15' and state=0; 
结果是全表扫描。
mysql> explain  select  count(id) from cin_offlinemessage where `datetime` >= '2012-03-15' and state=0;   
+----+-------------+--------------------+------+------------------------------+------+---------+------+----------+-------------+
| id | select_type | table              | type | possible_keys                | key  | key_len | ref  | rows     | Extra       |
+----+-------------+--------------------+------+------------------------------+------+---------+------+----------+-------------+
|  1 | SIMPLE      | cin_offlinemessage | ALL  | cin_offflinemessage_datetime | NULL | NULL    | NULL | 45046637 | Using where |
+----+-------------+--------------------+------+------------------------------+------+---------+------+----------+-------------+
1 row in set (0.00 sec)

虽然有索引,但没有用上,扫描的行数太多了(8位数),优化器认为全表扫描比索引来的快。
后我修改了下
mysql> explain  select  count(id) from cin_offlinemessage where `datetime` between '2012-03-15 00:00:00' and '2012-03-16 23:59:59'  and state=0;
+----+-------------+--------------------+-------+------------------------------+------------------------------+---------+------+---------+-------------+
| id | select_type | table              | type  | possible_keys                | key                          | key_len | ref  | rows    | Extra       |
+----+-------------+--------------------+-------+------------------------------+------------------------------+---------+------+---------+-------------+
|  1 | SIMPLE      | cin_offlinemessage | range | cin_offflinemessage_datetime | cin_offflinemessage_datetime | 9       | NULL | 3534912 | Using where |
+----+-------------+--------------------+-------+------------------------------+------------------------------+---------+------+---------+-------------+

1 row in set (0.00 sec)
这样就用上了索引。(扫描了7位数)
本文转自 liang3391 51CTO博客,原文链接:http://blog.51cto.com/liang3391/816803

虽然有索引,但没有用上相关推荐

  1. 两张表联合查询为何没有用上索引?

    我有两张表,一张叫teacherInfo,一张叫departmenInfo两张表有一个相同的字段,叫depnum,两张表都以这个字段建立了索引,可是我执行以下语句时,departmenInfo要进行全 ...

  2. 【数据操作】优化SQL server性能 之 索引 (转上)

    数据库的逻辑设计.包括表与表之间的关系是优化关系型数据库性能的核心.一个好的逻辑数据库设计可以为优化数据库和应用程序打下良好的基础. 数据库的逻辑设计.包括表与表之间的关系是优化关系型数据库性能的核心 ...

  3. 【约束】唯一键和主键在已存在索引的字段上创建和直接创建的区别

    目的: 测试一下, 1)如果一个表中已经创建了 唯一索引,那么再在 唯一索引上创建唯一键约束和主键约束,与直接创建主键约束与唯一键约束的区别 2)如果一个表中已经创建了 普通索引,那么再在 普通索引上 ...

  4. 0202年了,还没有用上Java函数式编程!!!——Lambda表达式

    0202年了,还没有用上Java函数式编程!!!--Lambda表达式 函数式编程是什么 命令式编程(Imperative) 声明式编程(Declarative) 函数式编程(Functional) ...

  5. 数据分析索引总结(上)Pandas单级索引

    Datawhale干货 作者:闫钟峰,Datawhale优秀学习者 寄语:本文对单级索引中的loc.iloc.[]三种方法进行了详细的阐述.同时,对布尔索引,快速标量索引方式.区间索引方式做了详细介绍 ...

  6. MyISAM和InnoDB的索引在实现上的不同

    1 MyISAM只把索引载入内存,数据缓存依赖于操作系统,InnoDB把索引和数据都载入内存缓冲 2 MyISAM数据库中的数据是按照插入的顺序保存,在每个索引节点中保存对应的数据行的地址,理论上说主 ...

  7. mysql count 优化索引_如何通过使用索引在InnoDB上优化COUNT(*)性能

    我有一个小而狭窄的InnoDB表,大约有900万条记录.在桌子上count(*)或count(id)桌子上做的速度非常慢(超过6秒): DROP TABLE IF EXISTS `perf2`; CR ...

  8. MySQL通过添加索引解决线上数据库服务器压力大问题

    昨天3月26号线上应用反馈:晚上19:30-19:43以及 20:13到20:21两个时间段所有人包括他们自己建的教室都进不去,cla***oom B套无法登陆,主页无法访问,已有超过10个老师和学生 ...

  9. MySql单张表中,“多个唯一字段”的插入和更新操作----添加联合唯一索引,Navicat上操作

    由于是入门的小白,在项目中遇到了类似的问题,做如下记录. 1.问题场景 开始本篇之前,先说下我遇到的问题场景,实际开发的场景为例: 开发中有一张用户表tb_device_user , 用来记录设备上的 ...

最新文章

  1. Blender从头开始装配和动画制作低多边形风格的FPS手臂
  2. JavaSript模块化 AMD CMD 详解.....
  3. 关于python的字符串大小转换函数:capitalize() title() upper() swapcase()
  4. Kube-Scheduler插件的自定义
  5. keepalived介绍
  6. keras从入门到放弃(十)手写数字识别训练
  7. linux组群账户存放在,linux用户和群组
  8. html鼠标点击有手势出来,用原生js+css3撸的一个下拉手势事件插件
  9. java学习(161):同步代码块
  10. (二)Luence——代码实现索引及搜索
  11. php宠物管理系统的开题报告,基于JSP的宠物医院开发与设计(开题报告)
  12. Linux删除含有特殊符号文件名的文件
  13. 【LG3244】[HNOI2015]落忆枫音
  14. 一文读懂卷积神经网络中的1x1卷积核
  15. 下列哪项不属于Html5中input,以下哪项不属于 Html5 中 input 标签新增的输入类型?...
  16. java cas logout无效_解释CAS Logout问题(转)
  17. 多周期MACD趋势共振制作的方法
  18. ACL20|MART: Memory-Augmented Recurrent Transformer for Coherent Video Paragraph Captioning
  19. 学习表——受任于败军之际,奉命于危难之间(2.20--2.26)
  20. 【报告分享】2020年中国房地产销售额百亿企业排行榜-中国指数研究院(附下载)

热门文章

  1. nasm汇编:段的申明、$$、$
  2. 6-堆排序C实现(递增递减的简单转换,可优化(41行提示))
  3. [攻防世界 pwn]——level3
  4. Struts2内置拦截器的简要介绍
  5. [WCF]利用net.tcp傳輸協定來建置WCF Service
  6. Lecture4_14_2.多维随机变量及其概率分布
  7. LeetCode 168. Excel Sheet Column Title
  8. Unity内置的三套消息发送机制的应用实例
  9. daterangepicker 日期范围插件自定义 可选 年份
  10. AndroidのActivity之退出返回栈(二)