MySQL面试题-引擎

1. MySQL存储引擎MyISAM与InnoDB区别

存储引擎Storage engine:MySQL中的数据、索引以及其他对象是如何存储的,是一套文件系统的实现。

常用的存储引擎有以下:

· Innodb引擎:Innodb引擎提供了对数据库ACID事务的支持。并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。

· MyIASM引擎(原本Mysql的默认引擎):不提供事务的支持,也不支持行级锁和外键。

· MEMORY引擎:所有的数据都在内存中,数据的处理速度快,但是安全性不高。

2. MyISAM与InnoDB区别


MySQL面试题-引擎


3. MyISAM索引与InnoDB索引的区别?

· InnoDB索引是聚簇索引,MyISAM索引是非聚簇索引。

· InnoDB的主键索引的叶子节点存储着行数据,因此主键索引非常高效。

· MyISAM索引的叶子节点存储的是行数据地址,需要再寻址一次才能得到数据。

· InnoDB非主键索引的叶子节点存储的是主键和其他带索引的列数据,因此查询时做到覆盖索引会非常高效。

4. InnoDB引擎的4大特性

· 插入缓冲(insert buffer)

· 二次写(double write)

· 自适应哈希索引(ahi)

· 预读(read ahead)

5. 存储引擎选择

如果没有特别的需求,使用默认的Innodb即可。

MyISAM:以读写插入为主的应用程序,比如博客系统、新闻门户网站。

Innodb:更新(删除)操作频率也高,或者要保证数据的完整性;并发量高,支持事务和外键。比如OA自动化办公系统。

小编分类整理了许多java进阶学习材料和BAT面试题,需要资料的请加QQ群:731611386 就能领取2019年java进阶学习资料和BAT面试题以及《Effective Java》(第3版)电子版书籍。


分享到:


相關文章: