栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我应该总是比MyISAM更喜欢MySQL InnoDB吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我应该总是比MyISAM更喜欢MySQL InnoDB吗?

MyISAM
是无事务的并且是堆组织的。记录由表中的行偏移量标识,索引将此偏移量存储为行指针。

InnoDB
支持交易并按索引组织。记录由的值标识
PRIMARY KEY
(或
PRIMARYKEY
未定义隐藏的内部列),并存储在中
B-Tree
。二级索引将的值存储
PRIMARY KEY
为行指针。

涉及全表扫描或二级索引查找的查询通常在

MyISAM
表上更快。

涉及

PRIMARY KEY
查找的查询通常在
InnoDB
表上更快。

MyISAM
表在表的元数据中存储表中的记录数,这就是为什么这样的查询:

SELECt  COUNT(*)FROM    myisamtable

瞬间。

MyISAM
表完全锁定在
DML
操作上(有几个例外)。

InnoDB
表锁定单个记录和索引间隙,但是这些是记录和扫描的间隙,而不仅仅是
WHERe
条件匹配的记录和间隙。尽管它们不匹配,但这可能导致记录被锁定。

InnoDB
表支持参照完整性
FOREIGN KEY
MyISAM
桌子没有。

有几种情况可以显示两种引擎的优势。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402801.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号