什么是事务
事务由单独单元的一个或者多个sql语句组成,在这个单元中,每个mysql语句时相互依赖的
事务的隔离级别
- read_uncommitted【RU,未提交读】:读到了上一个事务未提及的数据
- read_committed【RC,提交读、不可重复读(Oracle默认)】:当是一个读事务,其他事务可以读写,当是一个写事务,禁止其他事务访问
- repeatable_read【RR,可重复读(MySQL默认)】:在一个事务进行读的时候,其他事务不能进行写操作
- serializable【S,可串行化】:事务只能一个一个执行,不能并发
什么是索引
索引是对数据库表中一列或多列的值进行排序的一种结构
索引的优缺点
优点:
为了加快查询的速度
缺点:
- 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
- 索引需要占物理空间
- 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度
内连接和外连接都有什么以及他们之间的区别
内连接:会留下满足连接条件一一对应的元组,其实单表查询就一个最简单的内连接
外连接:外连接分为左外连接、右外连接和全外连接
左外连接:以左表为基准进行连接,保留左表所有的元组连接右表,如果右表没有变为null连接
右外连接:以右表为基准进行连接,保留右表所有的元组连接左表,如果左表没有变为null连接
全外连接:左外连接和右外连接的数学合集(去掉重复)