• MySQL表类型分析(myisam和innodb)


    1.存储结构

    MyISAM:每个MyISAM在磁盘上存储成三个文件,每一个文件的名字均以表名开始。扩展名支出文件类型。.frm文件存储表定义,.MYDmydata)文件存储表的数据,.MYImyindex)文件存储表的索引

    InnoDB:所有的表都存储在一个数据文件中(也有可能是多个文件,或者是独立的表文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2G

    2.存储空间

    MyISAM:可以被压缩,存储空间较小。支持三种不同的存储格式:静态表、动态表、压缩表

    InnoDB:需要更多的内存和存储,会在主内存中建立其专用的缓冲池用来高速缓冲数据和索引,但是不支持全文索引

    3.事务支持(事务的四大特性:原子性,一致性,隔离性,持久性)

    MyISAM:强调的是性能,每次查询均具有原子性,其执行速度比InnoDB类型更快,但是不提供事务支持

    InnoDB:提供事务支持,外部键等高级数据库功能,是具有事务(commit)、回滚(rollback)和崩溃修复功能(crash recovery capabilities)的事务安全(transcation-safe)型表

    4.CURD增删改查操作(createupdatereaddelete

    MyISAM:如果执行大量的select操作,MyISAM是更好的选择,因为不支持行级锁,但是在增删的时候效率就会差好多,因为MyISAM支持表级锁。相反的是InnoDB支持行级锁但是不支持表级锁,所以删除插入的时候只需要锁定行就行,效率比较MyISAM高。

    InnoDB:如果执行大量的insertupdate,处于对于性能的考虑,应该使用InnoDB

    Delete从性能上来看InnoDB更优秀,但是delete from table的时候,InnoDB不会重新建立表,而是一行一行的删除,所以在InnoDB表上如果要清空保存有大量数据的表,最好使用truncate table命令

    5.外键

    MyISAM:不支持

    InnoDB:支持

  • 相关阅读:
    信息探测
    Hdu 1262 寻找素数对
    Hdu 1263 水果
    Hdu 1261字串数
    Hdu 1253 胜利大逃亡
    Hdu 1237简单计算器
    Hdu 1235 统计同成绩学生人数
    Hdu 1236 排名
    Hdu 1233 还是畅通工程
    Hdu 1234 开门人和关门人
  • 原文地址:https://www.cnblogs.com/zhangweijie01/p/10143842.html
Copyright © 2020-2023  润新知