iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql的索引
  • 240
分享到

mysql的索引

mysql的索引 2018-07-12 11:07:06 240人浏览 才女
摘要

什么是索引 帮助Mysql高效获取数据的数据结构 索引就是数据结构 类似新华字典的索引目录,可以通过索引目录快速查到你想要的字 排好序的快速查找数据 为什么要建立索引 提高查询效率 没有排序之前一个一个往后找 通过索引

mysql的索引

什么是索引

  1. 帮助Mysql高效获取数据的数据结构
  2. 索引就是数据结构
  3. 类似新华字典的索引目录,可以通过索引目录快速查到你想要的字
  4. 排好序的快速查找数据

为什么要建立索引

  1. 提高查询效率 没有排序之前一个一个往后找 通过索引进行排序之后,可以直接定义到想要的位置
  2. 排好序的快速查找数据结构-->就是索引

优势

  1. 索引类似大学图书馆建立的书目索引,提高数据检索的效率,降低数据库io成本
  2. 通过索引对数据项进行排序,降低数据排序成本,降低了CPU的消耗

劣势

  1. 一般来说, 索引本身也很大, 索引往往以文件的形式存储到磁盘上
  2. 索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录.所以索3引也是要占磁盘空间的
  3. 虽然索引提高了查询速度,但是会降低更新表的速度.
  4. 因为更新表时, mysql不仅要保存数据,还要保存一下索引文件每次更新添加了索引列的字段,
  5. 会调整因为更新所带来的键值变化后索引的信息

索引分类

  1. 单值索引
    一个索引只包含间个列,一个表可以有多个单值索引 一般来说, 一个表建立索引不要超过5个
  2. 唯一索引 索引列的值必须唯一,但允许有空值
  3. 复合索引 一个索引包含多个列
  4. 全文索引
    Mysql全文检索是利用查询关键字和查询列内容之间的相关度进行检索, 可以利用全文索引来提高匹配的速度。

索引为什么能快速查找数据

  1. 二叉查找树
  2. B-Tree
  3. B+Tree

基本语法

创建索引

create [UNIQUE] index 索引名称 ON 表名(字段(长度))
alter 表名 add [unque] index[索引名称] on(字段(长度))

查看索引

show index from 表名

删除索引

drop index[索引名称] on 表名

更改索引

添加一个主键,索引必须是唯一索引,不能为NULL

alter table tab_name add primary key(column_list)

创建的索引是唯一索引,可以为NULL

alter table tab_name add unque index_name(column_list)

普通索引,索引值可出现多次

alter table tab_name add index index_name(column_list)

全文索引

alter table tab_name add fulltext index_name(column_list)

索引建立选择

适合建立索引

  1. 主键自动建立唯一索引
    primary
  2. 频繁作为查询条件的字段应该创建索引
    比如银行系统银行帐号,电信系统的手机号
  3. 查询中与其它表关联的字段,外键关系建立索引
    比如员工,部门外键
  4. 频繁更新的字段不适合建立索引
    每次更新不单单更新数据,还要更新索引
  5. where条件里用不到的字段不建立索引
    查询中排序的字段,排序的字段若通过索引去访问将大提升排序速度
    索引能够提高检索的速度和排序的速度
    查询中统计或分组的字段
    分组的前提是必排序
您可能感兴趣的文档:

--结束END--

本文标题: mysql的索引

本文链接: https://www.lsjlt.com/news/5864.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • [MySQL]MySQL索引
    [MySQL]MySQL索引 文章目录 [MySQL]MySQL索引1. 索引的概念2. 认识磁盘磁盘的内部结构磁盘中的一个盘片结构定位扇区磁盘随机访问与连续访问 3. MySQL与磁盘交互的基本单位4. 建立共识5. 索引的...
    99+
    2023-08-17
    mysql 数据库 linux centos 阿里云
  • MySQL索引 VS ElasticSearch索引的区别
    这篇文章主要介绍了MySQL索引 VS ElasticSearch索引的区别,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。前言这段时间在维护产品...
    99+
    2024-04-02
  • mysql的索引类型和索引方法
    mysql 索引类型包括普通索引、唯一索引、全文索引、空间索引和哈希索引。索引方法有 btree、hash 和 rtree。选择合适的索引类型和方法取决于数据类型和查询模式,例如范围查找...
    99+
    2024-04-22
    mysql
  • mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
    目录聚集索引(Clustered Index)辅助索引(Secondary Index)覆盖索引(Covering index)联合索引《MySQL技术内幕 InnoDB存储引擎》学...
    99+
    2024-04-02
  • Mysql 索引(三)—— 不同索引的创建方式(主键索引、普通索引、唯一键索引)
    了解了主键索引的底层原理,主键索引其实就是根据主键字段建立相关的数据结构(B+树),此后在使用主键字段作为条件查询时,会直接根据主键查找B+树的叶子结点。除了主键索引外,普通索引和唯一键索引也是如此,只不过普通索引要稍微绕一点,下面会具体介...
    99+
    2023-09-12
    mysql 数据库 java
  • MySQL---单列索引(包括普通索引、唯一索引、主键索引)、组合索引、全文索引。
    1. 索引 索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索 引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的 时间就越多,如果表中查询的列有一个索引,MySQL...
    99+
    2023-09-21
    数据库 mysql sql
  • MySQL的索引详解
    一. 索引基础 1.1 简介 在MySQL中,索引(index)也叫做“键(key)”,它是存储引擎用于快速找到记录的一种数据结构。 索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对性能的...
    99+
    2024-04-02
  • MySQL索引篇
    目录 MySQL索引一、怎么知道一条SQL语句有没有使用索引?二、如何排查慢查询三、索引失效以及为什么失效四、索引为什么能提高查询性能五、为何选择B+树而不是B树六、索引分类七、什么时候创建以及什么时候不需要索引八、索引优化 ...
    99+
    2023-08-19
    mysql 数据库 mybatis
  • MySQL单列索引和联合索引的用法
    本篇内容主要讲解“MySQL单列索引和联合索引的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL单列索引和联合索引的用法”吧!本文通过一个案例,介绍...
    99+
    2024-04-02
  • MySQL中的聚簇索引、非聚簇索引、联合索引和唯一索引是什么
    今天小编给大家分享一下MySQL中的聚簇索引、非聚簇索引、联合索引和唯一索引是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章...
    99+
    2023-04-21
    mysql
  • MySQL单列索引和组合索引的区别
    这篇文章主要讲解了“MySQL单列索引和组合索引的区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL单列索引和组合索引的区别”吧!  MySQL单...
    99+
    2024-04-02
  • mysql联合索引和普通索引的区别
            MySQL中,联合索引和普通索引都是用于加速查询的索引类型。它们之间的区别在于索引的列数和列的顺序。         普通索引只对单个列进行索引,而联合索引则同时对多个列进行索引,这些列可以按照特定的顺序组合在一起。例如,可...
    99+
    2023-09-07
    mysql 数据库 java
  • 【MySQL】MySQL索引详解
    Mysql索引 0.写在前面1.为什么要使用索引2.常见的索引模型3.索引维护4.回表?举例子。 0.写在前面 文章中包含了: 1.什么是索引 2.索引的数据结构,以及各自的使用场景 3.为什么要设置主键自增? 4.基于主键...
    99+
    2023-08-16
    mysql 数据库 面试
  • Mysql InnoDB聚簇索引二级索引联合索引特点
    目录一、聚簇索引特点 1特点 2二、二级索引三、联合索引接上一篇内容:https://www.jb51.net/article/249934.htm 一、聚簇索引 其实之前内容中介绍...
    99+
    2024-04-02
  • mysql建索引的技巧
    mysql建索引的技巧?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的...
    99+
    2024-04-02
  • MySQL的索引是什么
    本篇文章为大家展示了MySQL的索引是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。和其它数据库一样,MySQL索引对表中指定列进行排序后另外保存,用于快速查找...
    99+
    2024-04-02
  • mysql聚集索引和非聚集索引的区别
    本篇内容介绍了“mysql聚集索引和非聚集索引的区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!总结:1...
    99+
    2024-04-02
  • MySQL主键索引和非主键索引的实现
    目录主键索引(Primary Key Index):非主键索引(Secondary Index):在mysql中,主键索引和非主键索引有不同的作用和特点: 主键索引(Primary Key Index): 主键索引是一种...
    99+
    2023-10-27
    MySQL 主键索引 MySQL 非主键索引
  • mysql中聚集索引、辅助索引、覆盖索引、联合索引怎么用
    这篇文章主要介绍了mysql中聚集索引、辅助索引、覆盖索引、联合索引怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。聚集索引(Clustered Index)聚集索引就是...
    99+
    2023-06-29
  • mysql要索引的原因
    这篇文章主要介绍了mysql要索引的原因,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。因为索引能够快速提高查询速度;如果不使用索引,mysql必...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作