假如你有一个表,SQL>CREATETABLEtest_tab(2idINT,3nameVARCHAR(10),4ageINT,5valVARCHAR(10)6);你的业务,有一个查询,是SELECT*FROMtest_tabWHEREname=一个外部输入的数据刚开始,数据不多的时候,执行效果还不错。随着数据量的增加,这个查询,执行起来,越来越慢了。然后在name上面建立了索引CREATEINDEXidx_test4_nameONtest_tab(name);这样,可以加快前面那个查询的速度。但是,某天,你执行了下面这个SQL,发现速度又慢了SELECT*FROMtest_tabWHEREage=25为啥呢?因为age字段上面,没有索引索引只在name上面有换句话说,也就是WHERE里面的条件,会自动判断,有没有可用的索引,如果有,该不该用。多列索引,就是一个索引,包含了2个字段。例如:CREATEINDEXidx_test_name_ageONtest_tab(name,age);那么SELECT*FROMtest_tabWHEREnameLIKE'张%'ANDage=25这样的查询,将能够使用上面的索引。多列索引,还有一个可用的情况就是,某些情况下,可能查询,只访问索引就足够了,不需要再访问表了。例如:SELECTAVG(avg)AS平均年龄FROMtest_tabWHEREnameLIKE'张%'这个时候,name与age都包含在索引里面。查询不需要去检索表中的数据。

阅读全文 >

如何使用mysql索引查询_MYSQL索引问题:索引在查询中如何使用?相关推荐

  1. mysql非聚集索引区间查询_mysql的聚集索引和非聚集索引,回表查询,索引覆盖,最左前缀原则略解...

    什么是聚集索引和非聚集索引 我们知道 Mysql 底层是用 B+ 树来存储索引的,且数据都存在叶子节点.对于 InnoDB 来说,它的主键索引和行记录是存储在一起的,因此叫做聚集索引(clustere ...

  2. mysql索引教程_MySQL教程96-MySQL索引类型

    索引的类型和存储引擎有关,每种存储引擎所支持的索引类型不一定完全相同.MySQL 索引可以从存储方式.逻辑角度和实际使用的角度来进行分类. 存储方式区分 根据存储方式的不同,MySQL 中常用的索引在 ...

  3. mysql索引下沉_MySQL 5.6 索引条件下推优化

    索引下推优化是MySQL5.6版本中新加的功能. 索引条件下推(ICP)是对MySQL使用索引从表中检索行的情况的优化.如果没有ICP,存储引擎会遍历索引以查找基表中的行,并将它们返回给MySQL服务 ...

  4. mysql索引引擎_mysql搜索引擎和索引那些事

    mysql的存储引擎 三种存储方式 **InnoDB **(默认) 一个文件存储表结构,一个存储数据和目录(索引) # 一个文件 book_name | author| press | price | ...

  5. mysql order by 索引名字_MySQL如何利用索引优化ORDER BY排序语句

    MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度. MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作. 通 ...

  6. mysql唯一索引弊端_MySQL 关于唯一索引和普通索引的抉择

    想象这样一个场景,在设计一张用户表时,每人的身份证号是唯一的,需要搜索.但由于身份证号字段较大,不好将其作为主键.在业务代码已经保证插入身份证唯一的情况下,可以选择建立唯一索引和普通普通索引,这时该如 ...

  7. mysql索引方式_MySQL数据库的索引方式

    MySQL目前主要支持索引方法:B-Tree,Hash,R-Tree B-Tree B-Tree是最常见的索引类型,所有的列都是排序过的,每个叶节点跟节点距离相等.因此,B-Tree适合查找范围的数据 ...

  8. 最左前缀 mysql优化器_mysql查询优化之索引类型、最左前缀

    一.什么是索引?索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里 ...

  9. mysql lucene 索引区别_MySQL和Lucene索引对比分析

    MySQL和Lucene都可以对数据构建索引并通过索引查询数据,一个是关系型数据库,一个是构建搜索引擎(Solr.ElasticSearch)的核心类库.两者的索引(index)有什么区别呢?以前写过 ...

  10. mysql deadlock 展示_MySQL DeadLock -- 二级索引导致的死锁

    MySQL Deadlock 复现步骤 建表SQL CREATE TABLE `t_wms_order_item` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, ...

最新文章

  1. Java Web中的jsp技术
  2. 关于机器学习算法的16个技巧
  3. Storm的StreamID使用样例(版本1.0.2)
  4. android跳转到打电话,Android 应用跳转到拨打电话界面或qq进行聊天(qq咨询)
  5. 【评论】为什么我的工资最低!
  6. java 数据包含_如何高效判断java数组是否包含某个值
  7. gojs实现最短路径寻址实例
  8. 数据库审计产品购买者指南
  9. 三十好几的程序员被领导责骂,只能到厕所痛哭!
  10. java jsp动作_Java中级—JSP九大内置对象和动作
  11. Windows 1.0
  12. 远程服务器mstsc命令,远程桌面连接命令mstsc怎么用
  13. 新手如何学习单片机,一套很好的51单片机教程
  14. linux查看系统内存
  15. 软件工程——概要设计
  16. 自己动手实现俄罗斯方块
  17. 武汉科技大学java题库答案_武汉科技大学 java实验报告 实验二
  18. 【论文笔记】CVR预估之ESMM模型
  19. 计算机二级PS教学视频百度云,计算机二级ps考试题库完整教程文件.pdf
  20. Android 渲染机制——SurfaceFlinger

热门文章

  1. 【任务脚本】更新jd年兽任务脚本,京东淘宝活动任务全自动程序
  2. 基于AES加解密的图像加解密算法
  3. STM32cube HAL库 UART串口中断方式收发任意长度 调试笔记
  4. 操作系统(三)| 进程同步详解(主要任务、制约关系、临界资源、临界区、同步机制遵循规则、信号量机制、信号量的应用)
  5. WEB项目 后台接收前端数组
  6. SNMP、MIB、OID概念的理解
  7. 1.01 与 37.8
  8. Linux下设置主机的FQDN
  9. Apache安装及jboss部署说明文档
  10. [转载]Windows SDK笔记