3.1. 事物的四大特性和隔离级别 原子性:不可分割的操作单元,要么全部成功,要么回滚。 一致性:如果执行事物之前数据库是一致的,那么执行后还是一致的。 隔离性:事物操作之间彼此独立和透明,互不影响。 持久性:事物一旦提交,其结果就是永久的。
未提交读:允许脏读,其他事物只要修改了数据,即使未提交,本事物也能看到修改后的数据值。 提交读:只能读取到已提交的数据。 可重复读(innoDB默认):无论其他事物是否修改并提交了数据,这个事物中的数据不受影响。 串行读:完全串行化的读,每次读都要获得锁,读写相互都会阻塞。
3.2. MySQL优化相关 使用更小的整数类型、尽可能的定义字段为not null(否则会导致索引复杂)、 只创建需要的索引、分库分表。 使用explain检查复杂SQL语句、LIMIT语句尽量要跟order by或distinct 插入多条数据时使用单条INSERT语句。 3.3. MySQL存储引擎InnoDB和MyISAM的区别 InnoDB支持事物,MyISAM不支持。 InnoDB支持外键,MyISAM不支持。 InnoDB是聚集索引,MyISAM是非聚集索引。索引和数据文件是分离的。 InnoDB必须要有主键(没有会自己找或创建),MyISAM可以没有。 InnoDB不保存表的行数,MyISAM用了一个变量保存表的行数。 InnoDB支持表、行级锁 默认行级锁,MyISAM只支持表级锁。
标签:隔离,提交,事物,支持,索引,InnoDB,MyISAM,级别 From: https://blog.51cto.com/u_16227927/7111631