简述Mysql索引

一、索引概述

1.1 索引概述

MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。

索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。 这些数据结构以某种方式指向数据, 这样就可以在这些数据结构的基础上实现高级查找算法 。

1.2 优点

  • 类似大学图书馆建书目索引,提高数据检索的效率,降低数据库的IO成本 ,这也是创建索引最主要的原因。
  • 通过创建唯一索引,可以保证数据库表中每一行 数据的唯一性 。
  • 在实现数据的 参考完整性方面,可以 加速表和表之间的连接 。换句话说,对于有依赖关系的子表和父表联合查询时, 可以提高查询速度。
  • 在使用分组和排序子句进行数据查询时,可以显著 减少查询中分组和排序的时间 ,降低了CPU的消耗。

1.3 缺点

增加索引也有许多不利的方面,主要表现在如下几个方面:

  • 创建索引和维护索引要 耗费时间 ,并且随着数据量的增加,所耗费的时间也会增加。
  • 索引需要占 磁盘空间 ,除了数据表占数据空间之外,每一个索引还要占一定的物理空间, 存储在磁盘上 ,如果有大量的索引,索引文件就可能比数据文 件更快达到最大文件尺寸。
  • 虽然索引大大提高了查询速度,同时却会 降低更新表的速度 。当对表 中的数据进行增加、删除和修改的时候,索引也要动态地维护,这样就降低了数据的维护速度。

因此,选择索引时,需要综合考虑索引的优点和缺点。

提示:
索引可以提高查询速度,但是会影响插入记录的速度。这种情况下,最好的办法是先删除表中的索引,然后插入数据,插入完成后再创建索引。

二、索引的分类

MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。

  • 从 功能逻辑 上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。
  • 按照 物理实现方式 ,索引可以分为 2 种:聚簇索引 和 非聚簇索引。
  • 按照 作用字段个数 进行划分,分成 单列索引 和 联合索引。

2.1 普通索引

普通索引

2.2 唯一性索引

唯一索引

2.3 主键索引

主键索引

2.4 单列索引

单列索引

2.5 多列索引

多列索引

2.6 全文索引

1
在这里插入图片描述

2.7 空间索引

空间索引

参考文章:https://blog.csdn.net/m0_60915009/article/details/131728489

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/25709.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp小程序console.log在微信开发者工具中不打印问题

最近在开发一款uniapp小程序,发现console.log在微信开发者工具中不打印,但在H5页面就能够有打印输出,于是在网上寻找原因… 主要是由于vue.config.js文件中有设置发布时删除console的配置,如下: 官网参考地址&#x…

LeetCode 130. 被围绕的区域

题目链接:130. 被围绕的区域 题目描述 给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例1: 输入:board [[“…

SQL Server数据库如何添加mysql链接服务器(Windows系统)

SQL Server数据库如何添加mysql链接服务器(Windows系统) 一、说明二、下载mysql的odbc驱动三、安装mysql odbc四、配置ODBC4.1 控制面板→ODBC数据源(64位)→双击打开4.2 添加msql odbc数据源 五、测试添加是否成功六、打开SSMS&a…

ChatGPT的 6 个强势升级:重点是超强的文件上传和分析功能也来啦!

发布会核心概览 前日凌晨,OpenAI在社交平台上宣布了一系列新功能,旨在提升用户体验。这6 个新功能包括 “提示示例、回答建议、GPT-4默认选择、可分析上传多个文件、保持登录状态和键盘快捷键”。 其中,可分析上传多个文件的功能非常强大。结…

react搭建在线编辑html的站点——引入grapes实现在线拖拉拽编辑html

文章目录 ⭐前言⭐搭建react ts项目⭐引入grapes 插件⭐结束 ⭐前言 大家好,我是yma16,本文分享关于react搭建在线编辑html的站点。 react 发展历史 React是由Facebook开发的一种JavaScript库,用于构建用户界面。React最初发布于2013年&…

小鱼深度产品测评之:阿里云低代码开发平台魔笔,一站式的应用全生命周期管理,高效解决应用研发、迭代、运维的问题。

低代码开发平台魔笔测评 1、引言2、购买流程3、魔笔3.1添加应用3.2 应用列表3.1.1 列表应用展示3.2.1 列应用操作3.2.1.1 自动保存3.2.1.2 复制功能3.2.1.3 编辑功能3.2.1.4 删除 3.3 应用设计器3.3.1应用设计器入口3.3.2 设计器体验3.3.2.1 设计器页面展示3.3.2.2 设计器页面查…

网络安全预警分类流程

网络安全预警指南 随着信息技术的广泛应用与快速发展,传统业务与信息系统的融合程度不断加深,网络安全对国家政治、经济、文化、公共服务活动的影响进一步增大。网络安全形势日趋复杂,安全威胁不断变化,利用网络漏洞、恶意程序从…

Unity 实现字幕打字效果

Text文本打字效果,TextMeshPro可以对应参考,差距不大,改改参数名就能用。改脚本原本被我集成到其他的程序集中,现在已经分离。 效果 实现功能 1.能够设置每行能够容纳的字数和允许的冗余 2.打字效果 3.每行打完上移 4.开头进入&…

真我V3 5G(RMX2200 RMX2201)解锁刷机全过程

安卓系统新Rom包为GSI,更具有通用性,可以比较放心刷。 原厂系统垃圾多、广告多,甚至热点功能不支持ipv6,严重偏离热点机的定位。 主要参考 https://www.bilibili.com/read/cv20730877/https://www.bilibili.com/read/cv2073087…

Oracle-expdp报错ORA-39077、06502(Bug-16928674)

问题: 用户在使用expdp进程导出时,出现队列报错ORA-39077、ORA-06502 ORA-31626: job does not exist ORA-31638: cannot attach to job SYS_EXPORT_SCHEMA_01 for user SYS ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95 ORA-06512: at "SYS.KUPV$…

uni-app离线打包高德地图导入android studio不能正常显示

本人使用的uni-app SDK版本:Android-SDK3.8.7.81902_20230704 1.导入以上文件,依赖已经自动添加了 2.确保这个正常引入 3.修改AndroidMainifest.xml,添加自己的密钥

MyBatis关联查询

文章目录 前言多对一关联 association一对多关联 collectionresultMap元素 前言 提示:这里可以添加本文要记录的大概内容: 关联查询是指在一个查询中同时获取多个表中的数据,将它们结合在一起进行展示。 关联表需要两个及以上的表 数据库代…

Stable Diffusion教程(7) - PS安装AI绘画插件教程

配套教程视频:https://v.douyin.com/Uyux9F6/ 1. 前置条件 安装了stable diffusion 还没安装的从知识库安装 阿超的AI绘画知识库 语雀 安装了ps2023 还没安装的从网盘下载Win版 PS 2023【必须win10、11】.rar官方版下载丨最新版下载丨绿色版下载丨APP下载-12…

Docker极速安装Jenkins

安装 Jenkins 是一个常见的任务,使用 Docker 进行安装可以简化该过程并确保环境一致性。以下是在 Docker 中安装 Jenkins 的详细步骤: 安装 Docker: 首先,请确保您已在目标机器上安装了 Docker。根据您的操作系统,可以在 Docker 官…

revit建模理解

关于Revit族的理解 Revit 和族术语实心和空心形状几何图形类型 Revit 和族术语 图元 - Revit Architecture 项目中的任何内容。(斜体图元可在族编辑器中创建和编辑。) 模型图元 - 代表建筑的实际几何图形的内容。 主体图元 - 可以接收/支持其他模型图元…

通话降噪算法在手机和IOT设备上的应用和挑战

随着电子产品的升级换代,用户对通话质量的要求也越来越高。通话降噪算法对通话质量起到了关键核心的作用。计算资源的提升使得深度学习模型在便携式的低功耗芯片上面跑起来了,器件成本降低让IoT设备开始使用骨导传感器,,那怎么样才…

【博客690】监控进程的major page faults和minor page faults

监控进程的major page faults和minor page faults 场景 有时候遇到机器没有性能瓶颈,但是进程出现性能瓶颈,这时候往往需要进程级别的监控 监控手段:process_exporter https://github.com/ncabatoff/process-exporter 监控相关指标&#xff…

HTTP——九、基于HTTP的功能追加协议

HTTP 一、基于HTTP的协议二、消除HTTP瓶颈的SPDY1、HTTP的瓶颈Ajax 的解决方法Comet 的解决方法SPDY的目标 2、SPDY的设计与功能3、SPDY消除 Web 瓶颈了吗 三、使用浏览器进行全双工通信的WebSocket1、WebSocket 的设计与功能2、WebSocket协议 四、期盼已久的 HTTP/2.01、HTTP/…

Maven发布项目到Nexus私服

项目pom配置 在项目pom.xml中文件中的仓库配置&#xff0c;Nexus私服如何搭建在这里不介绍了可自行百度。 <distributionManagement><repository><id>releases</id><name>Nexus Release Repository</name><url>http://私服地址:34…

CS61B Spring 2021 proj2 gitlet

Gitlet 项目简介整体结构对象概念&#xff08;object concept&#xff09;追踪文件&#xff08;track file&#xff09;分支管理&#xff08;branch management&#xff09;持久化目录结构&#xff08;folder structure&#xff09; 命令功能与具体实现initaddcommitrmloggloba…