MySQL常见面试

事务

什么是事务
  • 逻辑上的一组操作,要么执行,要么不执行
事务的特征
  • ACID,原子性、一致性、隔离性、持久性
  • 原子性:最小执行单位,不允许分割
  • 一致性:执行前后,数据保持一致
  • 隔离性:并发访问时,多个事务之间应该隔离
  • 造成对数据库的影响是持久的
并发事务带来的问题
  • 脏读、幻读、不可重复读、更新丢失
  • 脏读:事务读取未被提交的数据
  • 幻读:事务读取时发现多了或少了数据,发生在另一个事务对表进行insert或者update
  • 不可重复读:事务A读取了数据,事务B修改了该数据,事务A不能读取同一数据
  • 更新丢失:数据库仅保存最后一个事务修改的数据
事务隔离级别
  • 读未提交、读已提交、可重复读、可串行化
\ 脏读 不可重复读 幻读
读未提交
读已提交
可重复读
可串行化

数据库引擎

MyISAM与InnoDB的区别
  • 前者不支持事务和行级锁,只支持表级锁;后者支持事务、行级锁、表级锁
  • 前者崩溃后无法安全恢复后者可以安全恢复
  • 前者不支持外键,后者支持
  • 前者叶节点存放的是数据地址,后者叶节点存放的是数据内容,可以是整行数据,也可以是主键
  • 前者支持非聚集索引,后者支持聚集索引

索引

什么是索引
  • 一种数据结构,能够帮助我们快速检索数据库中的数据
索引的类型
  • 普通索引、唯一索引、主键索引、全文索引、多列索引
Hash索引与B+索引的区别
  • Hash索引不支持范围查询、顺序查询,而B+树支持
  • 在冲突不大的情况下,Hash索引的检索效率高于B+树
  • Mysql中InnoDB引擎默认使用B+树
MySQL面试知识点

区分操作

Delete、truncate、drop
  • Delete删除数据,不释放空间、不删除表结构
  • Truncate删除数据、释放空间、不删除表结构
  • Drop删除数据、释放空间、删除表结构

Java常见面试题

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章