InnoDB 和 MyISAM 的区别

1、InnoDB支持事务,MyISAM不支持;
2、InnoDB支持外键,MyISAM不支持;
3、InnoDB是簇索引,MyISAM是非簇索引;
4、Innodb不支持fulltext全文索引,MyISAM支持;
5、InnoDB支持到行级锁,MyISAM仅支持表级锁;
6、InnoDB表唯一索引必选,Myisam可以选;
7、存储文件不同,Myisam这棵树的叶子结点存储数据是物理地址,InnoDB的叶子结点直接存储数据记录,这也是簇索引与非簇索引的区别。
8、MyISAM存储结构相对简单,易于恢复,备份覆盖即可。若程序写少读多,对原子性要求不高,MyISAM是最优选择。
9、若大量写入作为核心业务,InnoDB是最优选择。InnoDB最恼人的是ibdata1只能增大,无法缩小,只能全部备份、删除ibdata,然后全部恢复,相当于重新迁移数据库了。这点不如微软的SQL Server,可以随时压缩清空日志到1MB。
多年的实际工程体验中,MySQL数据量达到百万以后,如果没有设计好分库分表分区索引,PHP+MySQL分页就是一个梗。而SQL Serve在千万级以上,C#+存储过程,分页秒开,当然这其中也有C#的功劳,毕竟编译型语言执行效率要高于解释性语言。从备份&还原来看,后者易于前者,备份还原,或复制附加数据,非常简单。
总是选择MySQL是因为这货人缘好,Windows、Unix、Linux 和 Mac OS通吃,易于跨平台移植。而SQL Server在非Windows之外的系统上运行,需要繁琐的安装工作。

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值