• MySQL两大存储引擎:MyISAM和InnoDB


    Mysql有两大常用的存储引擎MyISAM,InnoDB,默认的形式是前者。
    两者基本的差别是对事务处理、外键和行级锁的主持上,InnoDB支持事务处理、外键等高级特性,而MyISAM不支持。MyISAM类型的表强调的是性能,如果执行大量的select操作,MyISAM是更好的选择,其执行数度比InnoDB类型更快。
    两者具体的差别如下:
    1.MyISAM的索引和文件本身是分开的,这一点在存储上能看出来:每个MyISAM在磁盘上存储成三个文件:文件的名字以表的名字开始,扩展名指出文件类型。
      .frm文件存储表定义;数据文件:扩展名为.MYD (MYData);索引文件:扩展名是.MYI (MYIndex)。
    2.在事务处理方面:MyISAM不支持事务处理,而且不支持外键(foreign key),而InnoDB支持。
      例如:create table table2(
    id char(1) not null,
    foreign key(id) references table1(id)
    );//table1已经建立
      这里默认使MyISAM的存储引擎,show create table2一下,则会出现:
      CREATE TABLE `table2` (                                                                                  
              `id` char(1) NOT NULL,                                                                             
              KEY `id` (`id`)                                                                                    
            ) ENGINE=MyISAM DEFAULT CHARSET=gb2312
      可见,table2并没有建立外键。
    3.InnoDB不支持fulltext类型的索引;
    4.如果执行大量的SELECT,MyISAM是更好的选择,如果执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表;
    5.delete from table时,InnoDB不会重新建立表,而是一行一行的删除;
    6.LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用;
    7.对AUTO_INCREMENT字段的操作:对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,在MyISAM表中,可以和其他字段一起建立联合索引;
    8.InnoDB中不保存表的具体行数,而MyISAM是保存的,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。当count(*)语句包含where条件时例外,两种表的操作是一样的(这很好理解,因为存储的行数不能利用了)。
    9.对锁的支持:InnoDB提供行锁(和Oracle类似),而MyISAM则在整个表上加锁。
  • 相关阅读:
    Agile EC 301 Installing and Configuring EC Web Connector
    Agile EC 301 BOM Publishing
    Agile PLM EC Administration Preference
    MySQL 5.6.10 Optimizer Limitations: Index Condition Pushdown
    mysql 启动异常失败 Starting MySQL..The server quit without updating PID file
    Sysbench 进行磁盘IO测试的输出结果解读
    分析 tuningprimer.sh 源码
    【Windows内核原理与实现】读书笔记(三)
    【翻译】深入解析Windows操作系统(第五版)第一章
    【WindowsDDK】内核字符串操作蓝屏的一个解决办法
  • 原文地址:https://www.cnblogs.com/sunp823/p/5601412.html
Copyright © 2020-2023  润新知