MySQL数据库基础--索引

news2024/11/27 9:56:53

索引概述

        索引是帮助MySQL高效获取数据数据结构(有序)

优缺点

优势劣势
提高数据检索的效率,降低数据库的IO成本索引列也是要占用空间的
通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗索引大大提高了查询效率,同时也降低了更新表的速度,如对表进行insert ,update,delete 时,效率降低。

索引结构

        MySQL的索引是在存储引擎实现的,不同的存储引擎有不同的结构,主要包含以下几种:

B-Tree(多路平衡查找树)

B+Tree

MySQL索引数据结构对经典的B+Tree 进行了优化,在其基础上,增加了一个指向相邻叶子节点的链表指针,就形成了带有顺序指针的B+Tree,提高区间访问的性能。

Hash

Hash索引就是采用一定的hash算法,将键值换算成新的hash值,映射到对应的槽位上,然后存储在hash表中,如果(两个或多个键值),映射到一个相同的槽位上,他们就产生了hash冲突,(也称hash碰撞),可以通过链表来解决。

hash索引特点:

1.Hash索引只能用于对等比较(=,in),不支持范围查询(between,<,>...)。

2.无法利用索引完成排序操作。

3.查询效率高,,通常只需要一次检索就可以了,效率通常要高于B+tree索引。

存储引擎支持

在MySQL中,支持hash索引的是Memory引擎,儿InnoDB中具有自适应的hash功能,hash索引是存储引擎根据B+Tree索引在指定条件下自动构建的。

索引分类

聚集索引选取规则:

如果存在主键,主键索引就是聚集索引。

如果不存在主键,将使用第一个唯一(UNIQUE)索引作为聚集索引。

如果没有主键,或者没有合适的唯一索引,则InnoDB会自动生成一个 rowid 作为隐藏的聚集索引。

索引语法

创建索引

查看索引

删除索引

Ending: 

        OK,本篇文章就到此结束了,非常感谢你能看到这里,所以如果你觉得这篇文章对你有帮助的话,请点一个大大的赞,支持一下博主,若你觉得有什么问题或疑问,欢迎私信博主或在评论区指出~

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

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

相关文章

xss.pwnfunction-Ah That‘s Hawt

<svg/onloadalert%26%2340%3B1%26%2341%3B> <svg/>是一个自闭合形式 &#xff0c;当页面或元素加载完成时&#xff0c;onload 事件会被触发&#xff0c;从而可以执行相应的 JavaScript 函数

649.Dota2 参议院

题目&#xff1a;Dota2 的世界里有两个阵营&#xff1a;Radiant&#xff08;天辉&#xff09;和 Dire&#xff08;夜魇&#xff09; Dota2 参议院由来自两派的参议员组成。现在参议院希望对一个 Dota2 游戏里的改变作出决定。他们以一个基于轮为过程的投票进行。在每一轮中&am…

abap 增强查找

初代增强 查找&#xff1a;se38 Z_FIND_USEREXIT ZENHANCE_FIND 没有的话可以复制下面查找增强代码 REPORT z_find_userexit NO STANDARD PAGE HEADING.*&---------------------------------------------------------------------**& Enter the transaction code…

机器学习 —— MNIST手写体识别

本文使用工具 Anaconda下载安装与使用 Jupyter Notebook的使用 pytorch配置 Jupyter notebook Pycharm 本文使用数据集 机器学习实验所需内容.zip 点击跳转至正文部分 pytorch配置 Jupyter notebook 1、打开 Anaconda…

Unity MySql安装部署与Unity连接 上篇

1.前言 最近项目用到MySql&#xff0c;记录一下安装部署过程。 数据量过大或者需要管理用户数据的时候用mysql的话数据结构比较清晰明了&#xff0c;便于管理。 2.安装MySql Unity版本&#xff1a;2019.4.16 MySql版本&#xff1a;8.2.0 下载地址&#xff1a;MySql 下载…

全新AI天空任意生成解决方案,颠覆传统换天效果

在数字化时代&#xff0c;影像创作已经成为企业展示品牌形象、传递信息的重要手段。特别是在汽车拍摄和旅行拍摄等场景中&#xff0c;天空作为画面中不可或缺的元素&#xff0c;其表现往往直接关系到作品的质感和吸引力。然而&#xff0c;传统的天空替换技术往往操作繁琐、效果…

Docker内更新Jenkins详细讲解

很多小伙伴在Docker中使用Jenkins时更新遇到困难&#xff0c;本次结合自己的实际经验&#xff0c;详细讲解。根据官网Jenkins了解以下内容&#xff1a; 一、Jenkins 是什么? Jenkins是一款开源 CI&CD 软件&#xff0c;用于自动化各种任务&#xff0c;包括构建、测…

Linux中磁盘管理

一.磁盘管理的概括和简要说明 磁盘空间的管理&#xff0c;使用硬盘三步&#xff1a; &#xff08;1&#xff09;分区&#xff1a; &#xff08;2&#xff09;安装文件系统格式化 &#xff08;3&#xff09;挂载&#xff1a; 硬盘的分类&#xff1a; &#xff08;1&#x…

Spring Cloud 和 Dubbo 区别及应用

探索 Spring Cloud 的能力 Spring Cloud 为开发者们构筑健全的云端应用提供了一套全面的工具。这一框架支援创建微服务架构的应用&#xff0c;如配置管理、服务发现和断路等功能。开发人员借助Spring Cloud&#xff0c;能迅速打造和部署符合设计模式的服务与应用。这套框架适用…

配置交换机 SSH 管理和端口安全——实验1:配置交换机基本安全和 SSH管理

实验目的 通过本实验可以掌握&#xff1a; 交换机基本安全配置。SSH 的工作原理和 SSH服务端和客户端的配置。 实验拓扑 交换机基本安全和 SSH管理实验拓扑如图所示。 交换机基本安全和 SSH管理实验拓扑 实验步骤 &#xff08;1&#xff09;配置交换机S1 Switch>enab…

关于gpu模拟器任务发布

首先&#xff0c;grid拿到用户指定的形状 那么发布任务&#xff0c;就每次增长block的size&#xff0c;如下 那么这个threadblock就直到自己在哪个位置 也就是grid任务拆成block&#xff0c;是依赖形状 关于block如何分成warp&#xff0c;发现是blocksize来拆&#xff0c;bloc…

AWS云为何会成为出海企业的首选

AWS云对出海企业来说究竟有什么魅力&#xff1f;本文&#xff0c;AWS合作伙伴九河云会带你了解&#xff0c;在企业出海过程中为什么首先想到的就是AWS云&#xff1f; 广泛而深入的云服务 亚马逊云科技目前提供超过 200 项全功能的服务&#xff0c;涵盖计算、存储、数据库、网…

二建考试搜题软件哪个好?分享8个可以搜答案的软件 #知识分享#笔记#学习方法

积极参加社团活动和实践项目&#xff0c;可以帮助大学生拓宽人脉圈和锻炼实际操作能力。 1.白鸽搜题 这是个微信公众号 多语言查询支持&#xff0c;满足国际用户需求。全球通用&#xff0c;无障碍搜题。 下方附上一些测试的试题及答案 1、等渗性脱水时&#xff0c;体液变化…

竞赛 卷积神经网络手写字符识别 - 深度学习

文章目录 0 前言1 简介2 LeNet-5 模型的介绍2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 在线手写识别7 最后 0 前言…

DS-Net:可落地的动态网络,实际加速1.62倍,快改造起来 | CVPR 2021 Oral

论文提出能够适配硬件加速的动态网络DS-Net&#xff0c;通过提出的double-headed动态门控来实现动态路由。基于论文提出的高性能网络设计和IEB、SGS训练策略&#xff0c;仅用1/2-1/4的计算量就能达到静态SOTA网络性能&#xff0c;实际加速也有1.62倍   来源&#xff1a;晓飞的…

Gradle 依赖管理-ApiHug准备-工具篇-004

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace ApiHug …

比特币革命:刚刚开始

作者&#xff1a;Marius Farashi Tasooji 编译&#xff1a;秦晋 要充分理解比特币及其含义&#xff0c;首先必须理解什么是价值&#xff0c;什么是货币。以及是什么赋予资产价值&#xff1f; 这个问题看似愚蠢&#xff0c;但实际上非常有趣。我们的生活是由我们消费或出售的物品…

每日OJ题_两个数组dp④_力扣44. 通配符匹配

目录 力扣44. 通配符匹配 解析代码 力扣44. 通配符匹配 44. 通配符匹配 难度 困难 给你一个输入字符串 (s) 和一个字符模式 (p) &#xff0c;请你实现一个支持 ? 和 * 匹配规则的通配符匹配&#xff1a; ? 可以匹配任何单个字符。* 可以匹配任意字符序列&#xff08;包…

计算机网络 网络命令的使用

一、实验内容 1.PING网络命令的实验 ping 127.0.0.1(内部回环测试)ping 本主机的IP地址ping 默认网关地址ping远端目的地的IP地址ping localhostping域名 2.其他网络命令实验 命令用途ipconfig/all 显示当前系统网络配置&#xff0c;包括IP地址、子网掩码、默认网关等trace…

四级作文模板——议论文——现象解释

议论文类型 现象解释 第一句 with the rapid development of society / economy / education / technology / culture / medical / service(任选) , it is of great necessity for youngster / students to improve our speaking ability.随着社会/经济/教育/科技/文化/医疗…