论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
Postrge-SQL技术社区
›
【MySQL精炼宝库】深度解析索引 | 事务
【MySQL精炼宝库】深度解析索引 | 事务
南飓风
论坛元老
|
2024-6-9 03:43:10
|
显示全部楼层
|
阅读模式
楼主
主题
1772
|
帖子
1772
|
积分
5316
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
目录
一、索引
1.1 索引(index)概念:
1.2 索引的作用:
1.3 索引的缺点:
1.4 索引的利用场景:
1.5 索引的利用:
1.6 面试题:索引底层的数据结构(焦点内容):
1.7 索引列查询(主键 | 非主键)过程:
二、事务
2.1 事务的概念:
2.2 事务利用:
2.3 面试题:事务的基本特性:
2.4 MySQL事务的隔离性:
一、索引
1.1 索引(index)概念:
索引是一种特殊的文件,包罗着对数据表里全部纪录的引用指针。可以对表中的一列或多列创建索引, 并指定索引的类型,各类索引有各自的数据结构实现。
注意:数组下标,目录,索引这三个是不同的术语,虽然它们的英文都是 index 但是表示的含义各不相同,希望友友们不要混淆。
本文章主要讲解MySQL中的索引及事务。
1.2 索引的作用:
• 数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。
• 索引所起的作用类似书籍目录,可用于快速定位、检索数据。
• 索引对于进步数据库的性能有很大的资助。
1.3 索引的缺点:
主要体如今下面两点:
• 索引本身要占据存储空间。
• 索引能进步查询速度,但是可能会拖慢增编削的速度(对数据进行增编削都是要同步更新索引的)。
1.4 索引的利用场景:
要考虑对数据库表的某列或某几列创建索引,须要考虑以下几点:
• 数据量较大,且经常对这些列进行条件查询(索引是用在条件查询的时候)。
• 该数据库表的插入利用,及对这些列的修改利用频率较低。
• 索引会占用额外的磁盘空间。
满足以上条件时,考虑对表中的这些字段创建索引,以进步查询效率。
相反,假如非条件查询列,或经常做插入、修改利用,或磁盘空间不敷时,不考虑创建索引。
1.5 索引的利用:
创建主键约束(PRIMARY KEY)、唯一约束(UNIQUE)、外键约束(FOREIGN KEY)时,会自动创建对应列的索引。
例如下图:只需关注画红框的这几个即可,至于如何检察表中的索引,后续马上讲到。
通过sql我们能够创建索引,检察索引,删除索引。
• 检察索引
sql脚本语法:
show index from 表名;
复制代码
案例:检察学生表已有的索引
show index from student;
复制代码
问题:为什么建立外键约束时,子表中的对应列(外键)为什么也要建立索引?
解答:在父表中进行删除修改的时候要去子表查询(假如子表有对应外键那么要先修改子表).为了让子表查询的速度加快,以是这里加上了索引。
• 创建索引
sql脚本语法:
create index 索引名 on 表名(字段名);
复制代码
案例:创建班级表中,name字段的索引。
create index idx_classes_name on classes(name);
复制代码
注意1:创建索引都是根据详细的列来创建的,以是后续查询的时候,也必须针对这一列进行条件查询才气够通过索引来提速。
注意2:索引的创建是一个伤害利用。假如表中的数据不多,创建索引啥的哪都无所谓。假如表本身很大,这个时候进行创建索引利用,就会引起大量的 CPU / 硬盘 IO 的斲丧,也是可能会把数据库给搞挂了的(年末奖也挂了
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
南飓风
论坛元老
这个人很懒什么都没写!
楼主热帖
零信任介绍
容斥原理
开源SPL助力JAVA处理公共数据文件(txt ...
使用 Helm 安装 MQTT 服务器-EMQX ...
数理逻辑第1-3章
Ubuntu如何安装Mysql+启用远程连接[完 ...
dotnet 修复在 Linux 上使用 SkiaSharp ...
DOS窗口命令和单表简单查询
Java笔记(13) 简单的Lambda表达式 ...
.gitignore文件配置以及gitee提交报Pus ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
Oracle
主机安全
公有云
快速回复
返回顶部
返回列表