zoukankan      html  css  js  c++  java
  • Mysql 的存储引擎,myisam和innodb的区别。

    1. 简单的表达。  
    2. MyISAM 是非事务的存储引擎。  
    3. innodb是支持事务的存储引擎。  
    4.   
    5. innodb的引擎比较适合于插入和更新操作比较多的应用  
    6. 而MyISAM 则适合用于频繁查询的应用  
    7.   
    8. MyISAM --表锁。  
    9. innodb--设计合理的话是行锁。  
    10. MyISAM 不会出现死锁。  
    11.   
    12. 最大的区别就是MYISAM适合小数据,小并发;INNODB 适合大数据,大并发。最大的区别就是在锁的级别上。  
    13.   
    14. MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。 MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。综述,就可以根据数据表不同的用处是用不同的存储类型。而且MyISAM是文件存储的,可以进行直接在不同操作系统间拷贝使用。  
    15.    
    16. InnoDB:  
    17. InnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。InnoDB 提供了行锁(locking on row level),提供与 Oracle 类型一致的不加锁读取(non-locking read in SELECTs)。这些特性均提高了多用户并发操作的性能表现。在InnoDB表中不需要扩大锁定(lock escalation),因为 InnoDB 的列锁定(row level locks)适宜非常小的空间。InnoDB 是 MySQL 上第一个提供外键约束(FOREIGN KEY constraints)的表引擎。InnoDB 的设计目标是处理大容量数据库系统,它的 CPU 利用率是其它基于磁盘的关系数据库引擎所不能比的。在技术上,InnoDB 是一套放在 MySQL 后台的完整数据库系统,InnoDB 在主内存中建立其专用的缓冲池用于高速缓冲数据和索引。 InnoDB 把数据和索引存放在表空间里,可能包含多个文件,这与其它的不一样,举例来说,在 MyISAM 中,表被存放在单独的文件中。InnoDB 表的大小只受限于操作系统的文件大小,一般为 2 GB。InnoDB所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,可以拷贝文件或用navicat for mysql。  
    18.    
    19. MyISAM  
    20. 每张MyISAM 表被存放在三个文件 :frm 文件存放表格定义。 数据文件是MYD (MYData) 。 索引文件是MYI (MYIndex) 引伸。  
    21. 因为MyISAM相对简单所以在效率上要优于InnoDB,小型应用使用MyISAM是不错的选择。  
    22. MyISAM表是保存成文件的形式,在跨平台的数据转移中使用MyISAM存储会省去不少的麻烦 
  • 相关阅读:
    【STM32H7教程】第35章 STM32H7的定时器应用之高精度单次延迟实现(支持TIM2,3,4和5)
    【重大更新】AppWizard来了,emWin6.10版本来了
    【STM32H7教程】第34章 STM32H7的定时器应用之TIM1-TIM17的PWM实现
    【STM32H7教程】第33章 STM32H7的定时器应用之TIM1-TIM17的中断实现
    【性能测评】DSP库,MDK5的AC5,AC6,IAR和Embedded Studio的三角函数性能
    【实战经验分享】一劳永逸的解决网线随意热插拔问题
    基于STM32的无损压缩算法miniLZO移植,压缩率很高,20KB随机数压缩到638字节,耗时275us
    Java Number & Math类
    Java switch case语句
    java条件语句
  • 原文地址:https://www.cnblogs.com/hgj123/p/4414000.html
Copyright © 2011-2022 走看看