InnoDB 和 MyISAM 的区别

文章比较了InnoDB和MyISAM两种MySQL存储引擎的特性,如事务处理、外键支持、索引类型、锁级别以及数据存储方式。InnoDB适合大量写入和事务安全的场景,而MyISAM适合读多写少的情况。此外,文章还提到了MySQL在大数据量时的分库分表挑战,以及SQLServer在性能和备份还原方面的优势。最后,MySQL因其跨平台性受到青睐。
摘要由CSDN通过智能技术生成

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之外的系统上运行,需要繁琐的安装工作。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值