数据库面试题

1、事务四大特性

原子性:要么执行,要么不执行
隔离性:所有操作全部执行完以前其它会话不能看到过程
一致性:事务前后,数据总额一致
持久性:一旦事务提交,对数据的改变就是永久的

2、数据库隔离级别

脏读:事务B读取事务A换没有提交的数据
不可重复读:俩次事务读的数据不一致
幻读:事务A修改了数据,事务B也修改了数据,这时事务A看来,明明修改了数据,咋不一样

3、MYSQL的俩种存储引擎区别(事务、锁级别等等),各自的使用场

引擎 特性
MYISAM 不支持外键、表锁、插入数据时、锁定真个表、查表总行数时、不需全表扫描
INNODB 支持外键、行锁、查表总行数时、全表扫描

4、索引有B+索引和hash索引索引

索引 区别
Hash hash索引、等值查询效率高、不能排序、不能进行范围查询
B+ 数据有序、范围查询

5、聚焦索引和非聚焦索引

索引 区别
聚焦索引 数据按索引顺序存储、中子结点存储真实的物理数据
非聚引索引 存储指向真正数据行的指针

6、索引的优缺点,什么时候使用,什么时候不能使用索引

索引最大的好处是提高查询速度
缺点是更新数据时效率低,因为要同时更新索引
对数据进行频繁查询和建立索引,如果要频繁更改数据不建议使用索引

7、InnoDB索引和MyISAM索引的区别

一是住索引的区别,InnoDB的数据文件本身就是索引文件。而MyISAM的索引和数据是分开的
二是辅助索引的区别,InnoDB的辅助索引data域存储相应记录

8、索引的底层实现(B+树,为何不采用红黑树,B树)

区别
红黑树 增加、删除,红黑树会进行频繁的调整,来保证红黑树的性质,浪费时间
B树叶就是B-树 B树,查询性能不稳定,查询结果高度不致,每个结点保存指向真实数据的指针,相比B+树每一层
B+树 B+树相比较于另外俩种树,显得更矮更宽,查询层次更浅

 

你可能感兴趣的:(数据库)