MySQL中InnoDB和MyISAM类型的差别

crazyBoDZ

crazyBoDZ

2016-02-19 18:06

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享MySQL中InnoDB和MyISAM类型的差别,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

  InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。下面是已知的两者之间的差别,仅供参考。

  1.InnoDB不支持FULLTEXT类型的索引。

  2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。

  3.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  4.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。

  5.LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  另外,InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%”

  任何一种表都不是万能的,只用恰当的针对业务类型来选择合适的表类型,才能最大的发挥MySQL的性能优势。

展开更多 50%)
分享

猜你喜欢

MySQL中InnoDB和MyISAM类型的差别

编程语言 网络编程
MySQL中InnoDB和MyISAM类型的差别

MySQL各存储引擎(INNODB,MyISAM等)的区别及其启动方法

MySQL mysql数据库
MySQL各存储引擎(INNODB,MyISAM等)的区别及其启动方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MySQL事务数据库(InnoDB类型)的安装方法

编程语言 网络编程
MySQL事务数据库(InnoDB类型)的安装方法

mysql中的“money”类型说明

编程语言 网络编程
mysql中的“money”类型说明

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

mysql myisam 优化设置设置

编程语言 网络编程
mysql myisam 优化设置设置

MySQL中的SQL TEXT DATE 和SET数据类型

编程语言 网络编程
MySQL中的SQL TEXT DATE 和SET数据类型

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

关闭笔记本触摸板的方法

关闭笔记本触摸板的方法

卡巴斯基安装程序过程中出现1603等错误提示

卡巴斯基安装程序过程中出现1603等错误提示
下拉加载更多内容 ↓