MySQL学习10:视图&事务&索引

Posted Z|Star

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL学习10:视图&事务&索引相关的知识,希望对你有一定的参考价值。

视图 View

视图的作用


视图可以看作是一个虚拟的表,可将一些表的关系结合起来进行查看,并实时更新(表的数据变化,视图也会随之变化,因此视图并非表的备份)。
视图用来方便查看,因此只具备查看的功能。不能对视图数据进行修改,视图不是真实的表。

视图的定义

建议以v_开头

create view 视图名称 as select语句;

查看视图

show tables;

使用视图

只能查询:

select * from v_view;

删除视图

drop view 视图名称;

事务

事务的作用

在订单场景中,若几个订单同时进行,需要多同一个账户进行多次操作。这时候需要用到事务。
事务的特点:开始事务后,记录一系列操作,直到事务提交commit之后所有操作才生效。否则,所有操作均不生效。

事务的四大特性ACID

下面的内容根据我自己的理解编写。
1.原子性(Atomicity)
事务作为最小工作单元,里面的内容要么全做,要么全不做,不能只做一部分。
2.一致性(Consistency)
数据库总是从一个一致性状态切换到另一个一致性状态。在事务提交之前,数据库和事务内的数据保持一致,提交之后也保持一致。
3.隔离性(Isolation)
一个事务在提交之前的修改对其它事务不可见。两个客户端对同一条记录进行操作时,只有先进行操作的客户端提交了记录,另一个客户端提交的记录才会生效,并且是叠加的效果而不是覆盖的效果。
4.持久性(Durability)
一旦事务提交,修改永久保存到数据库。

开启事务

begin;

或者

start transaction;

提交事务

commit;

回滚事务

rollback;

索引 Index

索引目的

类似字典前的目录,索引用来加快查找的速度。

索引原理

基层原理不作深究,表面上索引就是加速查找用到的树结构。

查看索引

show index from 表名

创建索引

若指定字段是字符串,需要指定长度,最好长度保持一致。
如不是字符串,不用写长度部分。

create index 索引名称 on 表名(字段名称(长度))

删除索引

drop index 索引名称 on 表名;

索引注意事项

1.主键,外键默认就是索引。
2.不需要频繁查找的字段无需建立索引。索引过多会影响数据更新的速度(更新数据的同时要更新索引)

以上是关于MySQL学习10:视图&事务&索引的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 幻读&Next Key Lock详解

mysql 索引和事务视图

子查询&视图&事务

14 MySQL--事务&函数与流程控制

MySQL多表&事务课堂笔记

我才知道MySQL事务&MVCC到底是啥?