zoukankan      html  css  js  c++  java
  • MySQL存储引擎

    MySQL5.5默认存储引擎的调整

    在MySQL5.1.X之前的版本中,默认的存储引擎是MyISAM,每个MyISAM在磁盘上会将数据存储成三个文件。第一个文件是表结构文件,它的名字以表的名字开始,其扩展名会指出文件类型,为.frm文件存储表定义;第二个文件是数据文件,其扩展名为.MYD (MYData);第三个文件是索引文件,其扩展名是.MYI (MYIndex)。

    MyISAM存储引擎的特点是表级锁、不支持事务和全文索引,适合一些CMS内容管理系统作为后台数据库使用,但是在大并发、重负荷生产系统上,表锁的特性显得有些力不从心,并且如果系统出现宕机、MySQLd进程崩溃,MyISAM引擎表很容易受到损坏,这时不得不用外部命令MyISAMchk去修复它。

    从MySQL5.5.X开始,默认的存储引擎变更为InnoDB Plugin引擎。

    InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级,并且也在SELECT语句提供一个与Oracle风格一致的非锁定读。这些特色增加了多用户部署和性能。之所以没有在InnoDB中扩大锁定的需要,是因为InnoDB中的行级锁定适合非常小的空间。InnoDB也支持FOREIGN KEY(外键)。在SQL查询中,你可以自由地将InnoDB类型的表与其他MySQL表的类型混合起来,甚至在同一个查询中也可以混合。

    InnoDB是为处理巨大数据量时拥有最大性能而设计的。它的CPU效率可能是任何其他基于磁盘的关系数据库引擎所不能匹敌的。

    InnoDB存储引擎被完全整合到了MySQL服务器中,不过,为了能在主内存中缓存数据和索引,InnoDB存储引擎会维持它自己的缓冲池。InnoDB会在一个表空间中存储它的表和索引,表空间可以包含数个文件(或原始磁盘分区)。这与MyISAM表不同,在MyISAM表中,每个表是被存在分离的文件中的。另外,InnoDB 表可以是任何尺寸,即使是在文件尺寸被限制为2 GB的操作系统上。

    InnoDB存储引擎应用在众多高压力、高并发的大型数据库站点上。比如,著名的Internet新闻站点Slashdot.org运行在InnoDB上。Mytrix, Inc.在InnoDB上存储着超过1TB的数据,还有一些其他站点在InnoDB上处理平均每秒800次插入/更新的负荷。

  • 相关阅读:
    Nacos 1.3.0版本部署连接mysql 8+
    Java Certificate证书问题
    UIKit之浅析UIButton
    Xcode Coule not launch "aaa" press launch failed:timed out waiting for app launch
    Cocos2d-x 安装教程for mac(Xcode)
    关于继承UITableViewController若干问题
    Table的分割线偏移量设置 及其 UIEdgeInset详解
    retain、strong、weak、assign区别
    iOS 使用xib创建cell的两种初始化方式
    No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=armv7 armv7s)
  • 原文地址:https://www.cnblogs.com/chromebook/p/4097064.html
Copyright © 2011-2022 走看看