2、MySQL事务
什么?主要用来处理操作量大,复杂度高的数据
例子?在人员管理网站中,你要删除一个人员,不但要删除他的基本信息,而且也要删除他的相关信息,如他的文章,信箱等等
-
在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。----》 Innodb 数据库引擎
-
事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。-----》原子性
-
事务用来管理 insert,update,delete 语句----》增删改
事务要满足的4个条件:
原子性:要么全部执行,要么全部不执行。
一致性:在事务开始之前和事务结束以后,数据库的完整性没有改变—》一致
隔离性:包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。
数据库允许多事务执行,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。隔离性保证了事务并发执行的互不干扰。
持久性:事务处理结束后,对数据库的改变必须是永久的,即便系统故障也不会丢失。—》持久
上面串行化(Serializable)
在这个事务没有被提交之前 其他的线程只能等到当前操作完成之后,才能进行操作,这样会非常耗时,而且,影响数据库的性能,通常情况下,不会使用这种隔离级别
3/索引
----》提高检索速度,高效运行
例子—》字典根据拼音来查询需要的字