数据库-索引快速学

索引

当表中数据量庞大时,往往搜索一条数据就会耗费很长的时间等待
索引是帮助数据库高效获取数据的数据结构

create index 索引名 on 数据表名(字段名);

为该表下的某一字段创建索引,检索耗时会大大的减小

  • 索引的优缺点

优点:提高数据查询的效率,降低数据库的IO成本
通过索引对数据进行排序,降低数据排序的成本,降低CPU消耗。

缺点:索引会占用存储空间,降低了insert,update,delete的效率

索引的数据结构

结构:MySQL数据库支持的索引结构有很多,如:Hash索引,B+Tree索引,Full+Text索引等,我们平常的索引,如果没有明确指明的情况下,都是指默认的B+Tree结构组织的索引

为什么不使用二叉树或者是红黑树作为结构?

当数据量庞大的时候,层级深,检索效率大大减小

  • B-Tree树:
    在这里插入图片描述
    每一个键值最后都会在最后一行进行呈现,每一个键值都会相对应的数据,在每一个磁盘块中进行二分查找,查找对应的指针,继续查找,知道找到对应的指针
  1. 每一个节点,可以存储多个key(有n个key就会有n个指针)
  2. 所有的数据都存储在叶子节点,非叶子节点仅用于索引数据
  3. 叶子节点形成了一颗双向链表,便于数据的排序以及区间范围查找

语法

创建索引:

create [unique] index 索引名 on 表名(字段名,...;

查看索引:

show index from 表名;

删除索引:

drop index 索引名 on 表名;

**注意:**创建表的时候如果为字段加上unique约束,会自动添加一处唯一索引
主键字段在建表时,会自动创建主键索引。

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

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

相关文章

【Python BUG】CondaHTTPError解决记录

问题描述 CondaHTTPError: HTTP 429 TOO MANY REQUESTS for url https://mirrors.ustc.edu.cn/anaconda/pkgs/free/win-64/current_repodata.json Elapsed: 00:26.513315 解决方案 找到用户路径下的 .condarc文件,建议用这个方法前和我一样做个备份,方…

python中类的导入与使用

1、类的介绍 与C中面向对象思想类似,有时候为了方便,需要专门创建一个类,将相关的函数全部写入到该类中,方便后续创建对象,再使用类中函数。那么如何创建完类,在其他文件中使用类中函数,这是这篇…

Python Flask框架 -- flask-migrate迁移ORM模型

# 之前使用的这个db.create_all()很有局限性,它不能把在class里修改的东西同步上数据库,所以不用了 # with app.app_context(): # 请求应用上下文 # db.create_all() # 把所有的表同步到数据库中去 例如,在User类中增加一个email字段&…

STM32和GD32内部时钟与外部时钟讲解

STM32F103为例: 1. 当 HSI 被用作 PLL 时钟输入时,可以实现的最大系统时钟频率为 64 MHz。 2. 要使 USB 功能可用,必须同时启用 HSE 和 PLL,并使 USBCLK 运行在 48 MHz。 3. 要实现 ADC 转换时间为 1 s,APB2 必须为 14 MHz、28 MHz 或 56 MHz。 ①. HSE = 高速外部时钟信号…

浅谈机器学习分类

I. 前言 在这个信息时代,数据的快速发展促进了人工智能(AI)等智能化技术的迅速发展。机器学习(Machine Learning)作为人工智能的重要分支之一,在数据处理、预测分析、模式识别等方面具有广泛的应用。前言的…

[linux初阶][vim-gcc-gdb] OneCharter: vim编辑器

一.vim编辑器基础 目录 一.vim编辑器基础 ①.vim的语法 ②vim的三种模式 ③三种模式的基本切换 ④各个模式下的一些操作 二.配置vim环境 ①手动配置(不推荐) ②自动配置(推荐) vim是vi的升级版,包含了更加丰富的功能. ①.vim的语法 vim [文件名] ②vim的三种模式 命令…

爬取搜狗翻译项目实例

视频中讲解的是百度翻译,但是视频中的方法现在已经不适用了,因为他们对 URL 的参数进行了修改,导致没法直接修改参数来爬取对应的翻译结果,这里我使用搜狗翻译来做演示,原理是一样的。 我们搜索的关键字会返回在 URL 中…

家用超声波清洗机高端品牌推荐!4款值得入手的热门超声波清洗机

急着洗眼镜的朋友先不要慌,虽然洗眼镜是日常生活中最常见的操作,但是在清洗眼镜方面也是有讲究的,不是随随便便把眼镜擦一下就算清洁干净了!因为我们拿眼镜布擦眼镜的时候,布料粗糙的微粒就会跟砂纸一样打磨着镜片&…

【python】flask模板渲染引擎Jinja2中的模板继承,简化前端模块化开发

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

[树莓派5][linux][已解决] arecord -D “plughw:1,0“ 的设备序号怎么确定?

我们常用这条命令来测试麦克风录音&#xff1a; arecord -D "plughw:1,0" -f dat -c 1 -r 16000 -d 10 test.wav 其中plughw:1,0这个格式是&#xff1a; plughw:<card>,<device> 我们先用这条命令来查看设备&#xff1a; aplay -l 我查询到的是 **** Li…

Python:语法糖

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 在编程世界中&#xff0c;有一个词语听起来既甜蜜又神秘&#xff1a;语法糖&#xff08;Syntactic Sugar&#xff09;。这个术语并不是指真正的糖…

什么是Prompt Tuning?

本文是观看视频What is Prompt Tuning?后的笔记。 大语言模型&#xff08;如ChatGPT &#xff09;是基础模型&#xff0c;是经过互联网上大量知识训练的大型可重用模型。 他们非常灵活&#xff0c;同样的模型可以分析法律文书或撰写文章。 但是&#xff0c;如果我们需要用其解…

欧拉操作系统安装opengauss高斯数据库加postgis

怎么在openeuler20.03 x86_64上的opengauss 5.0安装yukon Issue #I8XT22 openGauss/Yukon - Gitee.com 1、拉取镜像 docker pull registry.cn-beijing.aliyuncs.com/supermap/yukon:2.0-opengauss5.0.0-amd64 2、运行加载 mkdir -p /Yukon/opengauss docker run --name Y…

浅析机器学习的步骤与方法

一、引言&#xff1a; 机器学习是人工智能的分支之一&#xff0c;旨在研究如何使计算机系统自主地从数据中学习&#xff0c;并能够根据以往的经验做出预测或决策。现代机器学习主要使用统计学、概率论和优化算法来构建模型和训练算法。 应用场景&#xff1a; 机器学习在众多领…

cocos3.0 关于UI组件学习

Sprite 图片&#xff1a;官方文档 Size Mode: 1.Raw&#xff1a;原始大小 2.TRIMMED: 默认&#xff0c;会裁切原始图片透明像素 3.Custom&#xff1a;自定义&#xff0c;只要修改ContentSize&#xff0c;会自动设置 Type 1.Simple:普通,会铺满&#xff0c;一张图。 2.Sliced…

Python:json.dumps()

json.dumps() 是Python中json模块提供的一个方法&#xff0c;用于将Python对象&#xff08;如字典、列表、字符串等&#xff09;转换为其JSON编码的字符串。其最常用于将Python数据结构转换成JSON格式的数据&#xff0c;这进而可以作为HTTP响应发送给前端&#xff0c;或者保存在…

力扣热门算法题 89. 格雷编码,92. 反转链表 II,93. 复原 IP 地址

89. 格雷编码&#xff0c;92. 反转链表 II&#xff0c;93. 复原 IP 地址&#xff0c;每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.24 可通过leetcode所有测试用例。 目录 89. 格雷编码 解题思路 完整代码 Python Java 92. 反转链表…

C++之STL整理(2)之vector超详用法整理

C之STL整理&#xff08;2&#xff09;之vector用法&#xff08;创建、赋值、方法&#xff09;整理 注&#xff1a;整理一些突然学到的C知识&#xff0c;随时mark一下 例如&#xff1a;忘记的关键字用法&#xff0c;新关键字&#xff0c;新数据结构 C 的vector用法整理 C之STL整…

苹果智能戒指专利获批,Find My功能为智能穿戴提供智能防丢

根据美国商标和专利局&#xff08;USPTO&#xff09;近日公示的清单&#xff0c;苹果公司获得了一项关于智能戒指的专利&#xff0c;展示了多种交互手势&#xff0c;不仅支持捏合、画圈等&#xff0c;而且支持玩“石头剪刀布”游戏。 这项新专利名为“皮肤间接触检测”&#xf…

解决“ValueError: negative dimensions are not allowed”错误的全面指南

一、问题背景与错误描述 在使用numpy库进行数组操作时&#xff0c;有时会遇到一个常见的错误&#xff1a;“ValueError: negative dimensions are not allowed”。这个错误通常发生在尝试创建或者调整numpy数组的形状时&#xff0c;提供的维度&#xff08;shape&#xff09;参数…