Mysql必读Mysql 的存储引擎,myisam和innodb的区别
《Mysql必读Mysql 的存储引擎,myisam和innodb的区别》要点: 简单的表达.? innodb--设计合理的话是行锁.? InnoDB:?MYSQL数据库 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.?? MyISAM?MYSQL数据库 每张MyISAM 表被存放在三个文件 :frm 文件存放表格定义. 数据文件是MYD (MYData) . 索引文件是MYI (MYIndex) 引伸.? 以下是一些细节和具体实现的差别:MYSQL数据库 1.InnoDB不支持FULLTEXT类型的索引. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |