MySQL中InnoDB和MyISAM类型的差别

2016-02-19 18:06 8 1 收藏

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

【 tulaoshi.com - 编程语言 】

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

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

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

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

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

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

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

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

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

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

来源:http://www.tulaoshi.com/n/20160219/1616789.html

延伸阅读
标签: PHP
MySQL 数据表的字段必须有定义一个数据类型。这有大约 25 种选择,大部分都是直接明了的,就不多费口舌了。但有几个有必要提一下。 TEXT TEXT 不是一种数据类型,虽然可能有些书上是这么说的。它实际上应该是“ LONG VARCHAR ”或者“ MEDIUMTEXT ”。 DATE DATE 数据类型的格式是 YYYY-MM-DD ,比如: 1999...
G一下后,解决如下: /var/lib/mysql目录下,删除ibdata1、ib_logfile1、 ib_logfile0,然后重启MySql让其重建以上文件: mysqladmin -uroot -p shutdown sudo mysqld_safe & 搞定! 下面是网络上的其它文章。大家也可以参考下。 早上起来,到PHP站点去看了下,准备测试下别人写的一个CMS系统,高兴的下载了程序,然后把程序拷贝到所在目录...
2.4 表达式求值和类型转换 MySQL允许编写包括常量、函数调用和表列引用的表达式。这些值可利用不同类型的运算符进行组合,诸如算术运算符或比较运算符。表达式的项可用圆括号来分组。表达式在SELECT 语句的列选择列表和WHERE 子句中出现得最为频繁,如下所示: 所选择的每列给出了一个表达式,如WHERE 子句中所示的那样。...
InnoDB做为MySQL目前最广泛的事务存储引擎,很多地方的设计和Oracle都是共通的。对于Oracle DBA来说,学习的时候可以多和Oracle的一些特性进行类比,当然也要明白二者之间的区别。 innodb_additional_mem_pool_size 用于缓存InnoDB数据字典及其他内部结构的内存池大小,类似于Oracle的library cache。这不是一个强制参数,可以被...
标签: MySQL mysql数据库
  无论是在小得可怜的免费数据库空间或是大型电子商务网站,合理的设计表结构、充分利用空间是十分必要的。这就要求我们对数据库系统的常用数据类型有充分的认识。下面我就将我的一点心得写出来跟大家分享。   一、数字类型。数字类型按照我的分类方法分为三类:整数类、小数类和数字类。   我所谓的“数字类”,...

经验教程

607

收藏

74
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部