数据库
- [1.MyISAM与InnoDB区别(难度:★ 频率:★★★★)](#1.MyISAM与InnoDB区别(难度:★ 频率:★★★★))
- 2.什么是索引
1.MyISAM与InnoDB区别(难度:★ 频率:★★★★)
MyISAM | InnoDB | |
---|---|---|
事务支持 | 不支持事务 | 支持事务 |
事务支持 | 使用表级锁定,当一个查询需要修改表中的数据时,会锁定整个表,这可能导致并发性能下降。 | 使用行级锁定,只锁定需要修改的行,允许多个事务同时处理同一表的不同部分,提高并发性能。 |
外键 | 不支持 | 支持 |
性能 | 在读密集型工作负载下表现较好,因为它的表级锁定和简单的结构。 | 在写密集型工作负载和需要事务支持的应用中表现较好,因为它的行级锁定和更复杂的结构。 |
全文索引 | 支持 | 不支持 |
如何选择存储引擎?
- MyISAM:以读写插入为主的应用程序,比如博客系统、新闻门户网站。
- Innodb:更新(删除)操作频率也高,或者要保证数据的完整性;并发量高,支持事务和外键。比如OA自动化办公系统。
2.什么是索引
索引相当于目录, 为了方便查询书中的内容, 通过对内容建立索引形成目录., 其中包含对数据表中所有记录的引用指针
索引是一个文件, 它会占用物理空间
索引的优点:
- 可以大大加快数据的检索速度
索引的缺点:
- 时间方面: 创建索引和维护索引都要耗费时间, 对表中的数据进行增加、修改、删除操作, 都会动态维护索引, 会降低增、删、改的执行效率
- 空间方面: 索引需要占用物理空间