0
点赞
收藏
分享

微信扫一扫

InnoDB存储引擎+显示数据库引擎

InnoDB存储引擎

  • InnoDB存储引擎是MySQL的缺省引擎
  • 他管理的表具有以下主要特征
  • 每个InnDB表在数据库目录中以 .frm 格式文件表示
  • 表空间tablespace 被用于存储表的内容
  • 提供一组用来记录事务性活动的日志文件
  • 用COMMIT(提交)、SAVEPOINT 及ROLLBACK(回滚)支持事务处理
  • 提供全 ACID 兼容
  • 在MySQL服务器崩溃后提供自动恢复
    -多版本(MVCC)和行级锁定
  • 支持外键及引用的完整性,包括级联删除和更新

InnoDB优点


支持事务,行级锁,外键等;这种存储引擎数据的安全得到保障


显示数据库引擎

show engines;

InnoDB存储引擎+显示数据库引擎_外键
重点面试题:
Innodb和Myisam的区别

  1. myisam保存表具体行数;innodb不保存。
  2. myisam不支持外键;Innodb支持外键。
  3. myisam使用非聚集索引,索引和数据分开,只缓存索引;innodb使用聚集索引,索引和数据存在一个文件。
  4. myisam是默认表类型不是事物安全的;innodb支持事物。
  5. myisam在磁盘上存储上有三个文件.frm(存储表定义) .myd(存储表数据) .myi(存储表索引);innodb磁盘上存储的是表空间数据文件和日志文件,innodb表大小只受限于操作系统大小。
  6. myisam支持表级锁(不支持高并发,以读为主);innodb支持行锁(共享锁,排它锁,意向锁),粒度更小,但是在执行不能确定扫描范围的sql语句时,innodb同样会锁全表。
  7. 执行大量select,myisam是最好的选择;执行大量的update和insert最好用innodb。

解决方案:

修改在配置文件中配置只读和修改默认存储引擎,重新启动mysql。
default-storage-engine=MYISAM
read_only=on
super_read_only=on


举报

相关推荐

0 条评论