MySQL索引事物

目录

1.索引

1.1概念

1.2作用

1.3使用

1.4面试问题

2.事务

 2.1使用

2.2面试问题


1.索引

1.1概念

索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。

1.2作用

数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的系。
索引所起的作用类似书籍目录,可用于快速定位、检索数据。
索引对于提高数据库的性能有很大的帮助。
 

1.3使用

创建主键约束( PRIMARY KEY )、唯一约束( UNIQUE )、外键约束( FOREIGN KEY )时,会自动创建对应列的索引。

 查看索引

show index from 表名

创建索引对于非主键、非唯一约束、非外键的字段,可以创建普通索引

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

 删除索引

drop index 索引名 on 表名;

1.4面试问题

1.索引存在的意义:提高查找效率

2.索引付出的代价:空间代价、时间代价

3.索引背后的数据结构:

B+树(N叉搜索树,每个节点上包含了N个记录,N个记录就分成了N+1个区间,对应到N+1个子树,就可以通过该方式快速确定要查找的值在那个区间,进一步进行快速筛选)

2.事务

事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。
在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务。

 2.1使用

开启事务

start transaction;
执行多条 SQL 语句
回滚或提交: rollback/commit;
说明: rollback 即是全部失败, commit 即是全部成功。

2.2面试问题

谈谈对事务的理解

1.事务是把多个SQL打包成一个,要么全部执行,要么就都不执行

2.事务的应用场景,典型就是转账

3.事务的核心就是回滚,回滚就是mysql 要记录之前执行的一些过程

事务的几个基本特性

1.原子性(事务的核心)

2.一致性

3.持久性

4.隔离性 (脏读-给写操作加锁,不可重复性-给读操作加锁,幻读-串行化)

猜你喜欢

转载自blog.csdn.net/m0_60494863/article/details/124736105
今日推荐