1、索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息
2、创建索引的没得就是加快检索表中数据的速度,也就是查询数据的速度。
3、索引过多的创建,会造成输入接入的缓慢
MyISAM引擎
工作场景:寻找索引 --> 查看目录 --> 找到内容
特点:
1、在进行数据的备份、迁移、恢复等操作时,肥肠的容易,只要对文件进行操作就可以了
2、MyISAM只支持表锁,没有行锁
3、MyISAM不支持事务安全,但每次读的操作是具有原子性的,所以不必担心脏读等情况
Inno DB引擎
工作场景:寻找索引 --> 找到目录
特点:
1、支持师傅、回滚、崩溃修复,所以对数据的安全性较高的业务场景都选择了这个引擎
2、支持行锁,行锁的支持大大的提高了数据的并发操作能力
3、支持外键约素,在MySQL中只有InnoDM支持外键,外键约束保证了数据的完整性
备注
行锁与表锁的区别:
MyISAM 表锁:读锁会阻塞写,但是不会堵塞读。而写锁则会把读和写都堵塞,发生所冲突的表概率高
InnoDB行锁:发生锁冲突的概率最低,并发度也最高,当前对一行更新时,其他的针对这行更新时,需要等待,更新其他行时是不受影响的
外键的作用:让数据库自己通过外键看来保证数据的完整型和一致性,增加ER图的可读性