【后端面经】MySQL主键、唯一索引、联合索引的区别和作用

news2024/11/14 12:58:01

【后端面经】MySQL主键、唯一索引、联合索引的区别和作用

  • 0. 简介
  • 1. 主键
  • 2. 唯一索引
  • 3. 联合索引
  • 4. 索引对数据库操作的影响
  • 5. 其他索引
    • 5.1 普通索引
    • 5.2 全文索引
    • 5.3 前缀索引
  • 6. 总结
  • 7. 参考资料

0. 简介

索引是一类特殊的文件,用来存储检索信息,使数据库查找更加快速。

1. 主键

主键是一类特殊的唯一索引,选择某一列元素作为主键,用来表示每一行元素的特殊性,其特点如下

  • 在一个数据表中只有一个主键;
  • 主键不能为空(null);
  • 主键的列数据不能重复(唯一索引的特点)。

2. 唯一索引

唯一索引是数据库中的一个索引类型,用来保证某列元素的数据唯一性,其特点如下:

  • 一个数据表中可以有多个唯一索引;
  • 唯一索引可以为空(null);
  • 唯一索引的列数据不能重复。

3. 联合索引

当一个索引由多个列组成时,称为联合索引,主要用于快速查找某一特殊元素,其特点如下:

  • 列顺序很重要:ABC和CBA是两类不同的联合索引;
  • 一个数据表中可以有多个联合索引。

4. 索引对数据库操作的影响

索引的使用目的是为了加快查找数据的速度。

  • 读(查找数据)
    通过检索索引文件而不是整个数据库文件,能够加快读数据的速度。
  • 写(更新数据、增删改)
    索引文件是独立于数据文件的,因此在写数据的时候,需要同时更新索引文件和数据文件,因此会降低写数据的速度。

5. 其他索引

5.1 普通索引

和一般索引相比,允许列数据重复,作用是加快数据访问速度。特点如下:

  • 一个数据表中可以有多个唯一索引;
  • 普通索引可以为空(null);
  • 普通索引的列数据能重复。

5.2 全文索引

用来加快对大文本数据关键字的检索,MySQL5.6之后InnoDB也支持该索引。

5.3 前缀索引

仅针对字符串类型的数据,只索引字符串的前几个字符,而不是整个字符串。因此索引文件更小。

6. 总结

对上述的几种索引的特点对比如下所示:
在这里插入图片描述

7. 参考资料

参考博客-1
参考博客-2

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

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

相关文章

数值天气预报期末复习

数值天气预报期末复习 文章目录 数值天气预报期末复习(零)重点需要掌握知识点(一)什么是数值天气预报(二)数值模式的分类(三)各坐标系下的大气运动方程组3.1 局地直角坐标系3.2 球坐…

绩效跃升地图读书笔记20130618

绩效跃升地图,从5月份开始看,每天中午吃完饭休息的时候,坐在工位上,把看手机刷视频看八卦的时间,换成看书的时间,直到6月15日看完一本书。发现其实利用好碎片时间,还是可以读不少书的。 “绩效…

网络端口地址转换 NAPT 配置

你是某公司的网络管理员,公司办公网需要接入互联网,公司只向 ISP 申请了一条专线,该专线分配了一个公司 IP 地址,配置实现全公司的主机都能访问外网。 技术原理 NAT 将网络划分为内部网络和外部网络两部分,局域网主机…

Java集合详解

目录 友情提醒第一章、集合体系概述1.1)集合是什么?与数组的区别在哪1.2)集合体系与分类 第二章、集合体系中的Collection和List接口/Set接口2.0)List接口/Set接口两者区别2.1)Collection接口中的常用方法2.2&#xff…

【系统开发】尚硅谷 - 谷粒商城项目笔记(一):项目准备工作

文章目录 项目准备工作人人开源搭建后台管理系统数据库搭建前端项目搭建后端模块代码生成 项目准备工作 人人开源搭建后台管理系统 码云搜索人人开源 renren-fast-vue:前端 renren-generator:代码生成器 renren-fast:后台管理系统 用git…

系统设计蓝图:终极指南

系统设计蓝图:终极指南 设计开发一个健壮的、可扩展的、高效的系统可以是令人望而生畏. 但是,了解关键概念和组件可以使流程更易于管理。在这篇博文中,我们将探索基本的系统设计组件,例如 DNS、负载平衡、API 网关等,以…

python详解(7)——进阶(1):排序算法

目录 🏆一、前言 🏆二、什么是算法(简单) 🚩1、算法 🚩2、排序算法 🏆三、冒泡排序(中等) 🏆四、快速排序(困难) 🏆五&…

Android Studio 提高SDK下载速度

我们在下载Android SDK的时候,经常会出现下载失败的情况, 报android sdk manager not installing components之类的错误。 要如何加快SDK的下载速度呢 ? 我们可以通过修改Host来实现 关闭Android Studio的代理 首先,我们要关闭Android Stu…

华为HCIA备考 易错题整理 PART1

1.IEEE802.1Q定义的 VLAN 帧格式中VLAN ID总共有多少bit 答:12 2.NAPT允许多个私有IP地址通过不同的端口号映射到同一个公有IP地址上,且不需要做任何关于端口号的配置。 3.IEEE802.1Q定义的VLAN帧总长度为多少字节? 答:4 4.关于…

10种实用的Prompt技巧图解

收集整理了prompt engineering的10种实用技巧,以图解的方式解释了它们的主要原理。 本文追求以极简风格逼近这些方法的第一性原理,把黑话翻译成人话,并使用图片范例进行说明。 同时也加入了一些自己的理解,如有出入欢迎指正。 一&…

掌握Python的X篇_3_Python的两种编程方式:交互式与脚本式

掌握Python的X篇_3_Python的两种编程方式:交互式与脚本式 1. 交互式编程2. 脚本式编程3. 其他补充3.1 python源码文件后缀的问题3.2 关于原生工县和开发工具的选择 Python有两种编程方式: 交互式编程:写一行python语句,马上运行一行&#xf…

15-1.创建与引用自定义组件

目录 1 创建自定义组件 2 引用自定义组件 2.1 局部引用 2.2 全局引用 3 自定义组件的样式 1 创建自定义组件 在项目根目录下创建components,然后在components中创建 自定义组件名称 的文件夹,然后再自定义组件名称的文件夹中点击 新建Compon…

人体姿态估计技术的理解(Human Pose Estimination)

本人毕设题目是人体姿态估计技术的相关课题,本人按照自己对人体姿态估计技术的学习和理解进行论述,如有不足,请大家指正!!! 首先讨论一个问题:什么是姿态估计? “姿势估计?……姿势这个词对…

管理类联考——英语二——知识篇——写作——题目说明——A节

MBA,MPA,MPAcc管理类联考英语写作部分由A,B两节组成,主要考查考生的书面表达能力。共2题,25分。A节要求考生根据所给情景写出约100词(标点符号不计算在内)的应用文,包括私人和公务信函、通知、备忘录等。共…

elasticsearch安装dynamic-synonym插件

elasticsearch安装dynamic-synonym插件 ​ 今天就来和大家讲讲如何在es中安装dynamic-synonym插件,首先我们需要去github上下载与es版本对应的插件,一般github上基本都是本地词库和远程文本词库的,在gitee上可以找到采用数据库作为词库的源码…

就Python的发展前景、就业薪资、应用领域来看,你还有什么理由不学Python!

Python作为人工智能和数据分析第一语言,使得Python程序员成了当前人才市场的“抢手货”,工资待遇也水涨船高。 那么Python到底是什么?Python发展前景好么?Python容易学么?工资高么?技术小白适合学习么&…

【统信uos-server-20-1060e---详细安装openGauss】

【统信uos-server-20-1060e---详细安装openGauss】 🔻 一、前言🔻 一、安装前准备🔰 1.1 openGauss安装包下载🔰 1.2 安装环境准备⛳ 1.2.1 硬件环境要求⛳ 1.2.2 软件环境要求⛳ 1.2.3 软件依赖要求⛳ 1.2.4 关闭操作系统防火墙、…

如何在Allegro软件中进行射频微波电路设计?

随着时代高速发展,射频微波电路开始成为当代电子工程师在高频领域面临的重要挑战之一,如何提高设计效率,合理设计出一个优秀的射频微波产品,是很多电子工程师最头痛的问题,下面本文将聊聊如何通过Allegro软件设计吃优秀…

AI服务的并发处理【Python】

有一段时间,我专注于机器学习的研究方面,为不同的任务开发定制的机器学习解决方案。 但是最近,新项目进来了,有时自己负责初始部署比寻求其他开发人员的帮助更快。 我发现了几个在规模、易用性、定价等方面不同的部署选项。 今天…

SSM酒店后台管理系统

主要功能 管理员权限登录: ①首页展示当前时间信息,Layui框架实现的滚动图等布局 ②住客管理:住客入驻、住客列表的增删改查操作 ③房间管理:对房间进行相关的操作,详细信息、更新状态等 ④会员管理:新增会…