【MySql】数据库索引

news2024/12/24 20:12:24

数据库索引

  • 索引
    • 索引的创建
    • 索引的查看
    • 索引的删除
  • 聚簇索引 & 非聚簇索引
    • 聚簇索引
    • 非聚簇索引
  • 索引创建原则

索引

可以简单理解为一本书的目录信息,是为了提升查找效率而建立的

索引的创建

1、在创建一个主键、唯一键、外键时候,数据库会自动地针对查找字段设置索引;

在这里插入图片描述

2、在创建表时侯,使用 index 关键字进行普通索引的声明

>
在这里插入图片描述

3、修改表结构,给指定的字段添加索引
alter table 表名 add index 索引名(要增加索引信息的列名)

在这里插入图片描述

在这里插入图片描述

4、为指定的表创建索引
create index 索引名 on 表名(列名)

在这里插入图片描述
创建索引信息之后在进行索引的查看,发现新增了一个索引信息----即我们刚刚创建的索引信息:

在这里插入图片描述

索引的查看

1、show index from 表名;
2、show keys from 表名;
3、desc 表名;

索引的删除

1、drop index 索引名 on tablename;

2、修改表结构:
alter table 表名 drop index 索引名;

数据库中数据信息在底层实际上是存储在 InnoDB 中的:
在这里插入图片描述

而(InnoDB)索引实际上是采用 数据结构中 B+ 树结构来实现的

(注意区分B 树、B+树的区别)

在这里插入图片描述
在这里插入图片描述

聚簇索引 & 非聚簇索引

mysql 数据库中,InnoDB 存储引擎默认使用聚簇索引,MyISAM 存储引擎默认使用非聚簇索引

聚簇索引

索引数据与用户数据存放在一起;
一张表中只有一个聚簇索引;
聚簇索引数据与索引物理存储顺序是一致的,且有序存储;
在表中除了聚簇索引还有辅助索引,而聚簇索引类型中,辅助索引的叶子节点中存放的并不是用户数据,而是聚簇索引的键值;

在这里插入图片描述
在这里插入图片描述

非聚簇索引

索引数据与用户数据分离存储;
非聚簇索引是索引与数据分离,索引的叶子节点中存储的是数据的物理地址,因此索引的顺序与数据在物理磁盘的实际存储顺序不一定一致;
非聚簇索引的辅助索引,与主键索引并无区别,都是叶子节点中存放地址;

在这里插入图片描述

在这里插入图片描述

索引创建原则

1、比较频繁作为查询条件的字段应该创建索引;
2、唯一性太差的字段不适合创建索引,即使被频繁查询;
3、频繁修改的字段不适合创建索引------维护成本高;
4、索引并不是越多越好,因此不会作为查询条件的字段就不要创建索引。

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

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

相关文章

Express框架的安装和使用

1.Express框架简介 Node.js的web框架发展至今,第一个知名的框架为Connect框架.它类似一个中间件的脚手架.只提供逻辑,不实现具体的处理逻辑.中间件概念的引入Express框架奠定了基础. 2.Express框架的安装 安装分为局部安装和全局安装. 2.1局部安装 1.在D盘创建expressStud…

html实现开心消消乐小游戏

文章目录 1.设计来源1.1 游戏界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/130594511 html实现开心消消乐小游戏源码 《开心消消乐》 是一款三消游戏,游…

站群服务器和普通服务器区别

更有利于提升 站群服务器指的是对于站群系统提升客户开发设计的网络服务器,客户租服务器来置放好几个网站,许多客户以便免费在线上扩大曝出会挑选提升好几个网站。非站群服务器,基础只有置放两三个网站,并且在管理方法时也…

跨模态检索论文泛读:VisualSparta-利用加权的词袋进行大规模的文本到图像的检索

ACL2021 | 利用加权的词袋进行大规模的文本到图像的检索 VisualSparta: An Embarrassingly Simple Approach to Large-scale Text-to-Image Search with Weighted Bag-of-words主打速度! 简介 目前的跨模态检索方法主要分为查询相关和查询无关两种。查询无关的方法…

js实现产品页点击小图在大图区显示

企业网站产品图片可能会比较多&#xff0c;需要在产品页面多放几张展示图片&#xff0c;我们可以使用一张大图几张小图的形式排列&#xff0c;并使用js代码实现点击小图显示大图。效果如下所示 html代码部分&#xff1a; <div class"img_bd"> <img src"…

Windows在外远程桌面控制macOS 【macOS自带VNC远程】

文章目录 前言1.测试局域网内远程控制1.1 macOS打开屏幕共享1.2 测试局域网内VNC远程控制 2. 测试公网远程控制2.1 macOS安装配置cpolar内网穿透2.2 创建tcp隧道&#xff0c;指向5900端口 3. 测试公网远程控制4. 配置公网固定TCP地址4.1 保留固定TCP地址4.2 配置固定TCP端口地址…

在树莓派上搭建WordPress博客网站【内网穿透】

文章目录 概述安装 PHP安装MySQL数据库安装 Wordpress设置您的 WordPress 数据库设置 MySQL/MariaDB创建 WordPress 数据库 WordPress configuration将WordPress站点发布到公网安装相对URL插件修改config.php配置 支持好友链接样式定制主题 转载自cpolar极点云的文章&#xff1…

k8s集群部署 | 二进制三节点(复用)高可用集群部署过程

文章目录 1. 二进制部署三节点&#xff08;复用&#xff09;高可用 k8s 集群1.1 环境规划阶段1.1.1 实验架构图1.1.2 系统版本说明1.1.3 环境基本信息1.1.4 k8s 网段划分 1.2 基础安装及优化阶段1.2.1 系统信息检查1.2.2 静态 IP 地址配置1.2.3 配置主机名1.2.4 配置/etc/hosts…

基于绝缘状态的煤矿电缆绝缘可视化在线检测系统

摘要&#xff1a;针对供电系统绝缘问题检测技术限制煤炭产量效率的问题&#xff0c;以某煤炭企业6kV井下供电系统为研究对象&#xff0c;开展了在线监测系统设计与应用工作。结果表明&#xff0c;系统工作稳定&#xff0c;满足井下电力电缆绝缘在线监要求&#xff0c;降低了井下…

Pycharm运行unittest报错ModuleNotFoundError: No module named ‘pytest‘解决

使用unittest未import pytest相关功能语句&#xff0c;在pycharm中右键run的时候报错&#xff1a; Traceback (most recent call last):File "B:\Application\pycharm\PyCharm 2023.1\plugins\python\helpers\pycharm\_jb_pytest_runner.py", line 5, in <modul…

超星项目进程2023.5.9

一.解决了对于服务器传来的消息&#xff0c;想要在页面显示&#xff0c;页面显示的信息快于服务器传来的消息&#xff0c;导致显示的信息总是上一个操作的信息 原因&#xff1a;主线程比客户端专门接受服务器传回的消息的线程跑的快 解决&#xff1a;对于主线程在对于服务器发…

区别:阿里云公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像对比

阿里云服务器镜像根据来源不同分为公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像&#xff0c;一般没有特殊情况选择公共镜像&#xff0c;公共镜像是阿里云官网提供的正版授权操作系统&#xff0c;云市场镜像是在纯净版操作系统的基础上预装了相关软件及运行环境&#…

YOLOv5 实例分割 用 OPenCV DNN C++ 部署

Pre: 如果之前从没接触过实例分割&#xff0c;建议先了解一下实例分割的输出是什么。 实例分割两个关键输出是&#xff1a;mask系数、mask原型 本文参考自该项目(这么优秀的代码当然要给star!)&#xff1a;GitHub - UNeedCryDear/yolov5-seg-opencv-onnxruntime-cpp: yolov5…

MySQL 字段为 NULL 的坑,你踩过吗?

前言 很多小知识点&#xff0c;我以为自己懂了&#xff0c;实际没搞透。 数据库字段允许空值(null)的问题&#xff0c;你遇到过吗&#xff1f; 在验证问题之前&#xff0c;我们先建一张测试表及测试数据。 构建的测试数据&#xff0c;如下图所示&#xff1a; 有了上面的表及…

RHCSA 作业一

[rootserver ~]# mkdir /opt/tmp #在/opt目录下创建一个目录tmp [rootserver ~]# ls /opt tmp [rootserver ~]# touch /opt/tmp/a.txt #在tmp目录下新建一个文件a.txt [rootserver ~]# ls /opt/tmp a.txt [rootserver ~]# cd /opt/tmp #进入tmp目录下 [rootserver tmp]# …

大比拼:讯飞星火大模型将超越ChatGPT?

5月6日&#xff0c;讯飞星火认知大模型成果发布会于合肥举办。会上&#xff0c;备受业界期待的“星火”认知大模型正式发布&#xff0c;讯飞AI学习机、讯飞听见、讯飞智能办公本、讯飞智慧驾舱、讯飞数字员工&#xff0c;四大行业中的五大成果同步演示&#xff0c;发布会全程进…

Hive经典面试题——连续7天登录用户与TopN

目录 一、连续7天登录用户 1.数据准备ulogin.dat 2.建表与加载数据 3. 使用 row_number 在组内给数据编号(rownum) 4.某个值 - rownum gid&#xff0c;得到结果可以作为后面分组计算的依据 5.根据求得的gid&#xff0c;作为分组条件&#xff0c;求最终结果 二、求TopN …

Overcoming catastrophic forgetting in neural networks

目录 预备知识&#xff1a; 论文笔记 1. Introduction 2. Elastic weight consolidation 2.1 EWC allows continual learning in a supervised learning context 2.2 EWC allows continual learning in a reinforcement learning context 3. Conclusion 文章链接&#x…

100ASK_全志V853-PRO开发板支持人形检测和人脸识别

1.前言 V853 芯片内置一颗 NPU核&#xff0c;其处理性能为最大 1 TOPS 并有 128KB 内部高速缓存用于高速数据交换&#xff0c;支持 OpenCL、OpenVX、android NN 与 ONNX 的 API 调用&#xff0c;同时也支持导入大量常用的深度学习模型。本章提供一个例程&#xff0c;展示如何使…

JavaScript基础之数值计算

常见的几种场景 场景一&#xff1a;进行浮点值运算结果的判断 常见错误写法&#xff1a;floatNum1 floatNum2 res 我们在Chrome里测试一下 0.1 0.2 0.3&#xff0c;得出的结果是false&#xff0c;而不是预期结果true&#xff0c;因为 0.1 0.2 0.30000000000000004 场…