素材牛VIP会员
mysql表类型MyISAM,InnoDB实际中怎么选择?
 冷***知  分类:SQL代码  人气:1610  回帖:15  发布于6年前 收藏

MyISAM,InnoDB的区别优劣网上都说的很清楚了,但在实际中不知道该怎么去用。

之前问过这个问题,但可能说的不是很详细,http://segmentfault.com/q/1010000002600161

我想知道大家在“商城”、“商品表”、“订单”、“库存”,实际中项目中是怎么去设计表类型的呢,或者是怎么保证数据完整性的呢,事务,事务隔离级别……

例如支付宝如果使用mysql的话,那么它的表是怎么设计的呢,怎么严密保证数据的完整性呢?

或者大家知不知道有哪些关于这方面的比较经典的案列呢。

谢谢大家了!

讨论这个帖子(15)垃圾回帖将一律封号处理……

Lv6 码匠
飞***猪 交互设计师 6年前#1

innodb吧 它支持事务操作

Lv1 新人
Al***ay 职业无 6年前#2

时至今日,不用想了,myisam和innodb比没有任何优势,

Lv6 码匠
Fo***ou 职业无 6年前#3

看了下几个回复简直不忍直视。。。各种误人子弟啊。
把事务作为使用它们的区别,这是非常片面的。还有完全错误的答案:“Myisam类型的好处是增 删 改的效率比innodb高。”
这么说吧,如果你要事务,myisam就被pass了。
另一个重要区别:表级锁和行级锁。myisam是表锁的,意味这你insert、update、delete一条记录整个表就被锁了,谁的写操作效率高??上面的答案我真是汗爆了。
mysiam在存储上索引和data分开,空间占用小。但表损坏不能恢复数据。
一句话,mysiam适合读多写少的应用,且对数据一致性恢复性要求不高。
一般情况下,web应用都用innodb

Lv5 码农
流***雨 交互设计师 6年前#4

mysql5.5版本建表默认都使用InnoDB了,所以建议使用InnoDB,MyIsam可以说是历史要慢慢被淡出

Lv7 码师
封***榜 职业无 6年前#5

目前工作都没有遇到使用mysiam建表的,innodb是主流。如果是读多写少的场景,可以用redis等nosql来做更适合。

Lv6 码匠
无***圣 职业无 6年前#6

我们公司一开始用的MyIsam做人口系统,因为数据清洗与迁移方便,但是在后期中出现的锁表问题很头疼,就换成了InnoDB,仅供参考

Lv6 码匠
无***圣 职业无 6年前#7

也就是说大家还是说要用InnoDB是吧

Lv2 入门
熊***子 学生 6年前#8

针对具体情况选择,像楼主说的这几种,实际中多选择innoDB

Lv3 码奴
ch***az 职业无 6年前#9

如果你的项目中不需要事物操作,那么就用Myisam,否则就用innodb,Myisam类型的好处是增 删 改的效率比innodb高。

Lv2 入门
一***句 职业无 6年前#10

虽说InnoDB,MyIsam各有优劣,曾经我也为做这个选择而纠结,但现实中一般自己做的小项目体现不出他俩的区别,而公司的项目会有专门的DBA(小公司除外),如果你要做这个选择没有特殊原因选择InnoDB的,未来的趋势

上一页12下一页
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取