数据库专题

数据库专题

存储引擎

innodb 支持外键, ACID 全部事务

myISAM 适合于大量数据读 而少量数据写的操作

innoDB 适合有较多更新操作的情况

memory 适合不需要永久存储的情况

索引的分类

  1. B+ Tree 索引
  2. Hash索引
  3. full-text 全文索引
  4. R-tree 索引

mysql 事务隔离级别

  1. read uncommitted
    所有事务都可以看到其他事务未提交的执行结果 读取未提交的数据 称为脏读

  2. read committed(读已提交)
    事务 只能看见已经提交的事务 所做的改变,同一个transaction中 两个语句相同的查询可能返回不同的结果 造成了不可重复读的问题

  3. repeatable read(可重复读 mysql默认的)
    确保同一个事务 在并发读取数据的时候 会看到同样的读取结果

  4. serializable (串行化)
    不会发生以上的三类问题.(串行化是指 两个窗口 同时对一组数据进行事务操作的时候 会冲突 只有一个窗口执行好后 再执行另一个窗口的操作)