1.概念:索引是优化数据库查询速度的重要途径。

2.索引的类型:

<1>.普通索引:最基本的索引类型,没有唯一性之类的限制。

①单例索引:create index valIndex on t_tableA(val(20));

②多列索引:create index products_index on t_products(prod_name(20),prod_price);

说明:(1.)多列索引,同时查,索引生效。

(2.)只查prod_name(20),索引生效

(3.)只查prod_price,索引不生效

联合索引,以左边的为准,单独用左边的会生效,单独用右边的不会生效。

其实总结一下:以左边第一个或者所有会生效,其他的情况都不生效。

eg.(A,B,C)三个联合索引,A和ABC会生效,其他的情况下不生效。

<2>.唯一索引:和普通索引基本相同,但是所有的索引列只能出现一次,保持唯一性。

create unique index valIndex2 on t_tableB(val(20));

<3>.主键索引:主键索引是一种特殊的唯一索引,在建立主键时自动创建。

<4>.全文索引:语法同普通索引相同,就是可以在文本类型列上可以创建索引。

(全文索引可以在varchar或text类型上创建)

3.索引的缺点:

<1>.虽然索引大大提高了查询速度,但是会降低更新表的速度

比如对表的insert、update、delete操作。

因为更新表时,mysql不仅仅要保存数据,还要保存索引文件

<2>.建立索引会占用磁盘空间。如果在一个大表上创建了多种索引组合,索引文件会膨胀的很快。

4.注意事项:

<1>.索引是建立在常用的列上,比如你经常根据某一列(用户名,密码)去查数据

<2>.索引相当于字典前面的目录。

<3>.加不加索引要权衡一下是查询多,还是update,insert,delete多!!!

《4》并不是所有的表都适合加索引的!!

①记录少是不要加索引!

②每次查询的数据占总的数量很大时,不要加索引。

③多列索引:对查询频率高的列放在前面。

④数据库量很大,并且每次查询的数据占总量比较少时,加索引谁体会到明显的效率!!

本文转自韩立伟 51CTO博客,原文链接:http://blog.51cto.com/hanchaohan/926580,如需转载请自行联系原作者

mysql总结10------索引☆相关推荐

  1. 10 mysql选错索引

    10 mysql选错索引 在mysql表中可以支持多个索引,有的sql不指定使用哪个索引,由mysql自己来决定,但是有时候mysql选错了索引,导致执行很慢. 例子 CREATE TABLE `t1 ...

  2. MySQL - 第10节 - MySQL索引特性

    目录 1.索引的概念 2.认识磁盘 2.1.磁盘的结构 2.1.1.磁盘的整体结构 2.1.2.磁盘中的一个盘片 2.1.3.扇区的定位方式 2.1.4.操作系统与磁盘交互的基本单位 2.2.磁盘的随 ...

  3. mysql 第10章 索引

    2015-10-24 目录 参考资料 [1] 唐汉明.深入浅出MySQL 数据库开发.优化与管理维护(第2版)[M].北京:人民邮电出版社,2014 [2] Schwartz.高性能MySQL(第3版 ...

  4. MySQL 如何创建索引?怎么优化?

    2019独角兽企业重金招聘Python工程师标准>>> 索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本.MySQL在300万条记录左右性能开始逐渐下降,虽 ...

  5. PHP面试MySQL数据库的索引

    你好,是我琉忆,PHP程序员面试笔试系列图书的作者. 本周(2019.3.4至3.8)的一三五更新的文章如下: 周一:PHP面试MySQL数据库的基础知识 周三:PHP面试MySQL数据库的索引 周五 ...

  6. mysql的覆盖索引原理_「Mysql索引原理(七)」覆盖索引

    通常大家都会根据查询的WHERE条件来创建合适的索引,不过这只是索引优化的一个方面.设计优秀的索引应该考虑到整个查询,而不单单是WHERE条件部分.索引确实是一种查找数据的高效方式,但是MySQL也可 ...

  7. 论MySQL何时使用索引,何时不使用索引

    索引: 使用索引可快速访问数据库表中的特定信息.索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(name)列.如果要按姓查找特定职员,与必须搜索表中的所有行相比,索 ...

  8. mysql5.6 函数索引_聊聊MySQL中的索引

    关于MySQL中的索引使用 索引是数据库优化中最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的SQL性能问题. 索引的存储分类: 1.B-Tree索引:最常见的索引类型,大部分引擎都支 ...

  9. 面试mysql中怎么创建索引_阿里面试:MySQL如何设计索引更高效?

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

  10. mysql 排序后 下一条记录_什么是MySQL InnoDB 二级索引的排序?|附实例详解

    概述 今天主要给大家介绍了关于MySQL InnoDB 二级索引的排序的相关资料,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值. 每个InnoDB表具有一个特殊的索引称为聚簇 ...

最新文章

  1. Google Colab使用教程
  2. C语言函数集(十五)
  3. python学习-文件的读写操作
  4. Blogger建立Blog部落格​​ - Blog透视镜
  5. 80岁COBOL码农:扶我起来,这个bug我会修!
  6. .net后台怎么提取html中的多个图片的绝对地址_SpringBoot中yml配置文件说明和一些常用配置项说明...
  7. linux下的dns服务器
  8. Linux防火墙iptables的策略
  9. SQL SERVER2000教程-第五章 处理数据 第二节 检索数据
  10. 网络流-最大流问题详解(C++实现)
  11. php连接mib库,常用的一些MIB以及对应的OID
  12. 2021-2027中国游戏开发工具市场现状及未来发展趋势
  13. window环境下Redies安装和服务启用
  14. 实用系列1 —— 视频中的语音转换成文字
  15. 微软跳上OpenID Bandwagon
  16. 项目管理师备考笔记:十大管理之范围管理
  17. 定理在数学中的简写形式_初一数学:定义、定理、公式、方法
  18. 人脸识别与美颜算法实战-基于机器学习的人脸识别
  19. 企业级负载均衡集群——lvs的DR模式(直接路由模式)详细说明
  20. 行为型:设计模式之访问者模式(二十三)

热门文章

  1. 读德鲁克的《管理的实践》,我才明白,这些年,我错过了什么
  2. SAP PM单一和复合角色
  3. SAP SD销售业务中客户投诉退货的处理方案
  4. 2019年末,10 位院士对 AI 的深度把脉(上)
  5. 2019年上半年收集到的人工智能循环神经网络干货文章
  6. 深入剖析机器学习中的统计思想
  7. 深度丨全球14家顶尖 AI 产业巨头深度学习实力及战略分析
  8. Python 之 Numpy (四)索引
  9. latex中\begin{verbatim}以及\verb有什么用?
  10. 数据挖掘关联规则挖掘改进算法DHP