这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战
1、MySql有三种常见的存储引擎,它们分别是InnoDB,MyISAM和MEMORY。
| InnoDB | MyISAM | MEMORY | |
|---|---|---|---|
| 事务安全 | 支持 | 不支持 | 不支持 |
| 存储限制 | 64TB | ||
| 空间使用 | 高 | 低 | 低 |
| 内存使用 | 高 | 低 | 高 |
| 插入数据速度 | 低 | 高 | 高 |
| 对外键的支持 | 良好 | 不支持 | 不支持 |
2、触发器是什么?
它是一种特殊的存储过程,通过事件触发来执行,触发器会强化约束以此维护数据的完整性和一致性,可以跟踪操作,联级运算。
3、存储过程是什么?
他是一个预编译的SQL语句,它允许模块化的设计,创建一次后即可多次调用,所以多次执行时执行速度要比单纯sql语句执行的要快。 存储过程可以通过命令对像或外部程序调用。
优点:由于它是预编译的,执行效率快,
代码直接存放于数据库中,调用时可以减少网络通讯,
安全性高,
可复用性。
缺点:可移植性差。
4、视图是什么?
它是一种虚拟的表,与物理表功能相同,进行增删查改操作,它通常是一个表或者多个表的行或列的子集, 相比多表查询,视图获取数据更加容易。
优点:可以选择性访问数据库中的一部分,
操作简单,
数据独立性高,视图能够直接从多个表中检索数据,
相同的数据可以有不同的视图。
缺点:数据无法更改,
5、事务是什么?
事务是应用程序中一系列严密的操作,他有四个特性(ACID):
原子性:
事务所包含的操作要么全部成功,要么全部失败。
一致性:
事务开始前和结束后,数据库的完整性约束没有被破坏。
隔离性:
当多个用户并发的访问数据库时,不能背其他的事务干扰,多个并发事务之间要相互隔离,同一时间,只允许一个事务请求统一数据,不同事物之间没有干扰。
持久性:
事务一旦提交那么这种改变就是永久性的,即使数据库发生故障也不会丢失提交事务的操作。