`
QING____
  • 浏览: 2249809 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mysql索引失效(备忘)

 
阅读更多

    创建一个user表:

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) DEFAULT '',
  `age` tinyint(4) DEFAULT NULL,
  `email` varchar(128) DEFAULT NULL,
  `title` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`) USING BTREE,
  KEY `age` (`age`),
  KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 

   其中,'name'为唯一索引,'age'和'email'为普通索引,'title'未使用索引.

1. '!='操作



 
     三条sql只有一点区别,就是select返回的列信息不同,我们发现,第二条sql使用到了索引,而第一条则没有,看样子"!="操作使索引失效,是有前提的,即返回的结果中,如果只包含"name"是使用索引的.第三条sql因为age是索引列,索引使用到了索引.

2. "in" 操作


    情况和1)非常类似,到底是什么原因?

  • 大小: 105.2 KB
  • 大小: 113.9 KB
分享到:
评论
1 楼 donlianli 2014-03-19  
因为第二个查询的查询条件和返回结果都可以使用唯一索引name搞定,所以就不用再扫描全表了。

相关推荐

    索引失效-浅谈MySQL索引失效(组合索引).pptx

    自己整理有关MySQL的索引失效相关的信息,重点在组合索引的失效,有兴趣可以看看,看看是否对你有些许帮助

    mysql 索引失效详解

    MySQL 索引失效详解 MySQL 索引是一种加快数据检索速度的数据库对象。索引可以大幅度提高查询效率,但是如果不正确使用索引,可能会导致索引失效。索引失效是指MySQL 不能使用索引来加速查询,导致查询效率下降。 ...

    mysql索引失效.docx MySQL索引失效是指在查询执行过程中,数据库无法有效地使用索引来提高查询性能

    ### MySQL索引失效详解 #### 一、引言 在日常工作中,SQL是不可或缺的技术工具之一,但在实际操作中,不少开发人员对于SQL优化及索引的理解并不深入。特别是当数据量逐渐增大时,索引的正确使用与否直接影响着系统...

    mysql索引失效测试数据

    mysql索引失效测试数据

    mysql-实用-索引失效和优化原则

    mysql-实用-索引失效和优化原则

    MySQL索引面试题+索引优化+索引失效

    在面试过程中,常常会涉及到MySQL索引的相关问题,包括索引的原理、优化技巧以及索引失效的原因等。 首先,MySQL索引是一种数据结构,用于快速定位和访问数据库中的数据。它通过创建索引列和索引对象来实现,可以...

    导致MySQL索引失效的一些常见写法总结

    3. **范围查询**:如果查询条件包含索引列的范围,如`WHERE column BETWEEN a AND b`,MySQL通常只能使用索引的一部分,导致部分索引失效。 4. **使用否定条件**:如`WHERE column != value`,MySQL可能无法有效地...

    MySQL索引失效的11种情况.docx

    ### MySQL索引失效的11种情况 #### 知识点概述 在MySQL数据库中,索引是非常重要的优化工具之一,它可以显著加快数据检索的速度。然而,在某些情况下,索引可能会失效,导致查询效率降低。了解这些情况对于优化...

    MySQL索引失效的几种情况汇总

    MySQL索引是数据库性能优化的关键,但有时索引可能会失效,导致查询效率降低。下面将详细探讨几种常见的索引失效情况及其原因。 首先,索引不存储`NULL`值。在MySQL中,单列索引不会存储`NULL`值,而复合索引则不...

    mysql索引失效的五种情况分析

    以下就是五种可能导致MySQL索引失效的情况: 1. **OR条件**:当查询语句中包含OR操作符时,即使部分条件涉及到带有索引的列,MySQL也可能不会使用索引。为了使索引生效,每个OR子句中的列都需要有独立的索引。例如...

    7月6日 MySQL索引篇

    7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7月6日 MySQL索引篇7...

    MySQL 索引最佳实践

    ### MySQL索引最佳实践 #### 理解索引的重要性 在数据库管理中,索引是一种数据结构,用于提高查询速度。它对于开发者和数据库管理员(DBA)来说至关重要。索引选择不当可能会导致生产环境中的诸多问题。尽管索引...

    mysql数据库以及索引详解.pptx

    ### MySQL数据库及索引详解 #### 一、MySQL简介与数据库发展 MySQL是一款非常流行的开源关系型数据库管理系统,由瑞典MySQL AB公司开发。它以其高性能、稳定性和易用性著称,广泛应用于Web应用程序和企业级系统中...

    mysql 索引与执行计划

    ### MySQL 索引与执行计划 #### 一、索引与执行计划 ##### 1.1 索引入门 在深入探讨之前,我们首先需要理解什么是索引以及其重要性。 ###### 1.1.1 索引是什么 索引(Index)在MySQL中是一种帮助数据库高效获取...

    MySQL索引 使用笔记

    、、IS NULL、LIKE '%value%'等操作,这些会导致索引失效。 - 尽量让经常一起出现在`WHERE`子句中的列形成复合索引。 - 使用覆盖索引(Covering Index),使查询可以从索引中直接获取所需数据,避免回表操作。 ...

    MySQL索引 聚集索引

    MySQL索引 聚集索引 如果你想了解MySQL索引查询优化,你首先应该对MySQL数据组织结构、B-Tree索引、聚集索引,次要索引有一定的了解,才能够更好地理解MySQL查询优化行为。这里主要探讨MySQL InnoDB的聚集索引。

    MySQL索引最佳实践

    ### MySQL索引最佳实践 #### 一、理解MySQL索引的重要性 索引是数据库性能优化中最常用也是最重要的手段之一。合理的索引设计可以显著提高查询效率,减少服务器资源的消耗。在MySQL中,索引的选择与配置对于开发...

Global site tag (gtag.js) - Google Analytics