第三章 事务、视图、索引

MySQL数据库

第三章 事务、视图、索引

一、事务(transaction)

1、什么是数据库事务:

(1)是 SQL 操作的最小单位,是一系列逻辑 SQL 操作的集合。
(2)处于一个事务内的所有 SQL 操作是一个整体,这些 SQL 操作要么都成功,要么都失败。
(3)我们将事务提交给数据库,修改数据库数据称之为提交事务,使用 commit 来完成,
如果发出一个 DDL 操作,那么之前的事务也会被自动提交。
所谓的提交事务,就是通知数据库按照该事务最终的数据修改数据库自身的数据。
(4)如果将事务中的数据不提交给数据库,而是直接抛弃,那么就称之为回滚事务,
通过 rollback 来完成。

2、数据库事务的 ACID 原则:

(1)原子性(Atomictiy):事务所包含的所有 SQL 操作,是一个不可再分的整体,这些整体要么一起成功,也么一起失败。
(2)一致性(Consistency):事务在完成后,需要保证和数据库中的数据保持一致。
(3)隔离性(Isolation):每个事务之间的操作相互不影响。
(4)持久性(Durability):当事务提交后,数据库的数据将会被永久改变。

3、由事务所带来的问题

(1)脏读取
(2)不可重复读取
(3)幻读
对于 MySQL 来说,是默认提交事务的。事务针对的是 DML 操作。

4、事务的自动提交模式

使用SET语句来改变自动提交模式
在这里插入图片描述
注意:MySQL中默认是自动提交,使用事务时应先关闭自动提交。

5、MySQL的事务实现方法

在这里插入图片描述

6、MySQL事务处理步骤

在这里插入图片描述
MySQL事务处理只支持InnoDB和BDB数据表类型

二、视图(view)

1、什么是视图

视图是一种查看数据库中一个或多个表中数据的方法
视图就是将一个复杂的 SQL 进行封装,形成一个整体,当我们再次需要该 SQL 时,可以直接调用视图,那么视图就可以直接执行该 SQL 查询。

2、 创建视图的语法
create view 视图名 as select 查询语句;
3、调用视图

select * from v_emp_welfare;

三、索引(index)

1、什么是索引

为了能够在数据表中快速的查询和定位记录。数据库中的索引与书籍中的目录类似。

2、作用

(1)提高查询速度
(2)确保数据的唯一性
(3)可以加速表和表之间的连接,实现表与表之间的参照完整性
(4)使用分组和排序子句进行数据检索时,可以显著减少分组和排序的时间
(5)全文检索字段进行搜索优化

3、分类

主键索引(PRIMARY KEY)
唯一索引(UNIQUE)
常规索引(INDEX)
全文索引(FULLTEXT)

4、创建索引

(1)创建唯一性索引

create unique index i_cellphone on sys_emp(cellphone);

(2)创建普通索引

create index i_name on sys_emp(name);
5、索引准则

(1)索引不是越多越好
(2)不要对经常变动的数据加索引
(3)小数据量的表建议不要加索引
(4)索引一般应加在查找条件的字段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值