索引
(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. Python break/continue - Python零基础入门教程

    目录 一.break 二.continue 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python wh ...

  2. [算法] 数据结构 splay(伸展树)解析

    前言 splay学了已经很久了,只不过一直没有总结,鸽了好久来写一篇总结. 先介绍 splay:亦称伸展树,为二叉搜索树的一种,部分操作能在 \(O( \log n)\) 内完成,如插入.查找.删除. ...

  3. 用navigation的大致图

  4. ubuntu16.04服务自启动(弹控制台)

    一.设置root桌面用户登录 1.vim  /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 在最后一行添加greeter-show-manual-lo ...

  5. 常用正则表达式RE(慕课网_Meshare_huang)

    import re str1 = 'imooc python' # str1.find('l1') 输出: -1 # str1.find('imooc') 0 # str1.startswith('i ...

  6. WebRTC框架中的硬件加速

    WebRTC框架中的硬件加速 典型缓冲流量 应用程序和单元测试设置 重要方法调用 WebRTC软件包 局限性 WebRTC是一个免费的开源项目,可为浏览器和移动应用程序提供实时通信功能. WebRTC ...

  7. CUDA统一内存分析

    CUDA统一内存分析 PascalMIG 如 NVIDIA Titan X 和 NVIDIA Tesla P100 是第一个包含页 GPUs 定额引擎的 GPUs ,它是统一内存页错误处理和 MIG ...

  8. 中国人工智能AI框架自主研发

    中国人工智能AI框架自主研发 中国AI界争相构建AI开源框架的背后,技术和业务层面的考量因素当然重要,但也不应忽视国家层面的政策支持.对于AI基础设施的建设,中国政府在<新一代人工智能发展规划& ...

  9. httprunner中的分层(api、testcase、testsuite)及实际使用

    一.分层思想 api定义层:最底下的一层是api的定义层testcase层:测试用例层,调用定义层的内容testsuite:测试套件层 二.分层案例设计实现实践举例 1.api 层: 2.testca ...

  10. DHCP的原理与配置

    DHCP 动态主机配置协议(Dynamic Host Configuration Protocol) 可以减少管理员的工作量 避免用户手工配置网络参数时造成的地址冲突 DHCP报文类型: 报文类型   ...