索引
(1)什么是索引?
是一种提升查询速度的 特殊的存储结构.
它包含了对数据表里的记录的指针,类似于字典的目录。
当我们添加索引时会单独创建一张表来去存储和管理索引,索引比原数据大,会占用更多的资源.
(2)索引的种类:
普通索引 index
- 普通索引 就是一个普通的索引,可以为空,可以重复。
唯一索引 unique
- 可以为空,不可以重复。
主键索引 primary key
- 不可以为空,不可以重复
(3)索引的优缺点:
索引的优点:
提升查询速度,
通过建立唯一索引保证数据的唯一性
缺点:
索引需要占用更多物理空间,
增加了后期的维护成本
降低增删改操作的效率
(4)索引可以提升查询速度,是不是添加的索引越多,越好?
数据量比较大时可以使用索引.
给经常用于where查询条件的字段添加索引还要考虑当前字段数据的重复量.如果当前字段数据的重复量大于30% 不建议添加索引
数据重复量过大添加索引,反而会降低查询速度.
在使用索引查询数据时,一定要遵循最左原则
将有所索引的字段放在条件的最左边(先查询有索引的字段)
(5)索引的操作:
添加索引:
在建表时添加索引
表键好之后添加
ALTER TABLE 表名 ADD 索引类型 [索引名] (字段名);
查看索引:
SHOW INDEX FROM 表名;
删除索引
DROP INDEX 索引名 ON 表名;
注意: 删除主键索引必须先去除主键索引的自增属性,然后执行
ALTER TABLE 表名 DROP PRIMARY KEY;
(6)索引的实现(了解):
从存储结构上来划分:BTree 索引(B-Tree 或 B+Tree 索引),Hash 索引,full-index 全文索引,R-Tree 索
引,但是 MySQL 的 InnoDB 数据库引擎,只支持 B+Tree 索引。
HASH索引:
基于哈希表实现,只有精确匹配索引所有的列查询才有效,对于每一行数据,存储引擎会对于所有的索引类列计算一个
哈希码,并且hash索引将所有的哈希码存储在索引中,同时索引表中保存指向每个数据的指针哈希索引能够最快的进行数据定位,对于固定的数据查询效率很高,对于范围性的查询,因为HASH索引的不连续性,查
询性能会下降.
B-Tree索引:
B-Tree能加快数据的访问速度,存储引擎不在需要全表扫描,数据分布在各个节点之中
B+Trree
数只存储在叶子节点,上一个叶子节点中还会记录下一个叶子节点的地址
6、视图

mysql 索引介绍与运用的更多相关文章

  1. mysql性能优化-慢查询分析、优化索引和配置 MySQL索引介绍

    MySQL索引介绍 聚集索引(Clustered Index)----叶子节点存放整行记录辅助索引(Secondary Index)----叶子节点存放row identifier-------Inn ...

  2. MySQL索引介绍

    引言 今天Qi号与大家分享什么是索引.其实索引:索引就相当于书的目录 索引介绍 用官方的话说就是 索引是为了加速对表中数据行的检索而创建的一种分散的存储结构.索引是针对表而建立的,它是由数据页面以外的 ...

  3. Mysql索引介绍及常见索引(主键索引、唯一索引、普通索引、全文索引、组合索引)的区别

    Mysql索引概念:说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要 ...

  4. Mysql索引介绍及常见索引的区别

    关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车.对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型 ...

  5. MySQL索引介绍+索引的存储类型+索引的优点和缺点+索引的分类+删除索引

    什么是索引? 索引用于快速找出某个列中有一特定值的行,不使用索引,mysql必须从第1条记录开始读完整的表,直到找出相关的行.表越大,查询数据所花费的实际越多.如果表中查询的列有一个索引,mysql能 ...

  6. Mysql系列(六)—— MySQL索引介绍

    前言 索引种类 索引维护 如何使用索引 一.索引索引种类 MySQL中索引主要包含以下几种: 普通索引 唯一索引 主键索引 联合索引 全文索引 二.索引维护 在简述了索引的类型后,再来了解下如何维护索 ...

  7. MySQL索引介绍和实战

    索引是什么 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构. 可以得到索引的本质:索引是数据结构,索引的目的是提高查询效率,可以类比英语新华字典,根据目录定位词 ...

  8. Mysql索引(一篇就够le)

    我想很多人对mysql的认知可能就是CRUD(代表创建(Create).更新(Update).读取(Retrieve)和删除(Delete)操作),也不敢说自己会用和熟悉mysql,当然我就是其中一个 ...

  9. php面试专题---Mysql索引类型、介绍及优点

    php面试专题---Mysql索引类型.介绍及优点 一.总结 一句话总结: 精品视频讲解里面的资料来源也是通过各种资料,比如博客.书等,只不过是基于讲解者的知识体系有整理的过程 1.B-Tree索引三 ...

随机推荐

  1. Java注解类型(@Annotation)

    简述 注解本质是一个继承了Annotation的特殊接口,其具体实现类是Java运行时生成的动态代理类.而我们通过反射获取注解时,返回的是Java运行时生成的动态代理对象$Proxy1.通过代理对象调 ...

  2. 动态更换animator的animatorcontroller

    你可以这样 Animator animator = this.gameObject.GetComponent<Animator>(); animator.runtimeAnimatorCo ...

  3. C# HTTP请求对外接口、第三方接口公用类

    /// <summary> /// 网络数据请求公共函数 /// </summary> public class HttpWebRequestCommon { #region ...

  4. Echarts的柱状统计图出现x轴统计时间出现间隔显示的问题

    今天在使用Echarts的柱状统计图出现x轴统计时间出现间隔显示的问题: 数据都拿到了,放到Json数组都是完整的, 展现是时候 如下图:

  5. 行人检测与重识别!SOTA算法

    行人检测与重识别!SOTA算法 A Simple Baseline for Multi-Object Tracking, Yifu Zhang, Chunyu Wang, Xinggang Wang, ...

  6. selenium 鼠标事件操作

    1.操作鼠标事件的类:ActionChains  perform()  执行所有ActionChains中存储的行为 context_click()  右击 double_click()   双击 d ...

  7. GD32F330 | ADC实例 基于DMA方式

    GD32F330 | ADC实例 基于DMA方式 简单记录一下 ADC多通道转换 DMA搬运 的使用,以 GD32F330G8U6 为例: 一.ADC 基础知识 12位ADC是一种采用逐次逼近方式的模 ...

  8. Effective Fusion Factor in FPN for Tiny Object Detection

    微小目标检测的FPN有效融合因子 摘要:基于FPN的检测器在一般物体检测方面取得了显著的进步,例如MS COCO和PASCAL VOC.然而,这些检测器在某些应用场景中会失败,例如微小物体检测.在本文 ...

  9. WEB安全漏洞扫描与处理(上)——安全漏洞扫描工具AppScan的安装使用

    很多公司对软件会有安全的要求,一般测试公司会使用安全漏洞扫描工具对软件进行漏扫,然后给出安全报告,然后软件开发人员会根据提供的安全报告进行漏洞的处理.我们接触到的测评公司,使用的是漏洞扫描工具AppS ...

  10. Arduino参考手册-函数和变量及电路图

    标题: Arduino参考手册-函数和变量及电路图 作者: 梦幻之心星 sky-seeker@qq.com 标签: [#Arduino,#参考手册,#函数,#变量] 目录: [Arduino] 日期: ...