• MySQL系列(四)---引擎


    MySql中的引擎

    目录

    引擎种类

    • FEDERATED
    • MRG_MYISAM
    • MyISAM
    • BLACKHOLE
    • CSV
    • MEMORY
    • ARCHIVE
    • InnoDB
    • PERFORMANCE_SCHEMA
    • 输入show storage Engines,可以看到当前mysql的所有引擎,本文主要讲常用的两种索引MyISAM和InnoDB

    引擎使用

    • 查看表的引擎,show create table table_name ,可以看到表的引擎
    • 在创建表的时候,我们就可以设置表的的引擎 CREATE TABLE user (id INT NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL,password VARCHAR (50) NOT NULL DEFAULT 1,PRIMARY KEY(id)) ENGINE =INNODB
    • 修改表的引擎 alter table note engine=myisam;

    比较

    MyISAM InnoDB
    文件 三个文件组成。.frm(存储表定义).MYD (存储数据文件)。.MYI (存储索引)。 所有的表都保存在同一个数据文件中(也可能是多个文件,或者是独立的表空间文件),InnoDB表的大小只受限于操作系统文件的大小,一般为2GB。
    外键 不支持 支持
    事务 不支持 支持
    自增长列 必须是索引列,不需要一定是组合索引的第一列 必须是索引,如果是组合索引,必须是组合索引的第一列
    查找行数 存储了表的行数,查找时候很快 必须扫描全表
    增删该查 select更适合 insert 和 update更适合
    表锁 既支持行锁也支持表锁
    删表 重建表 一行一行删
    存储空间 表支持3种存储格式,静态表(默认存储格式,每条记录固定长度),动态表(每条记录不是固定长度,存储的空间减少了),压缩表(每条记录被单独压缩,占据空间更少) 需要更多的内存和存储,它会在主内存中建立其专用的缓冲池用于高速缓冲数据和索引
    可移植性 数据以文件形式存储,跨平台转移方便 所有表都保存在同一个数据文件(也可能是多个文件),相对来说不好备份

    引擎选择

    • 选择密集还是更新密集,MyISAM读操作性能更好,InnoDb写操作更好
    • 并发度如何,InnoDB支持事务,并发下表现更好
    • 是否需要外键支持

    我觉得分享是一种精神,分享是我的乐趣所在,不是说我觉得我讲得一定是对的,我讲得可能很多是不对的,但是我希望我讲的东西是我人生的体验和思考,是给很多人反思,也许给你一秒钟、半秒钟,哪怕说一句话有点道理,引发自己内心的感触,这就是我最大的价值。(这是我喜欢的一句话,也是我写博客的初衷)

    作者:jiajun 出处: http://www.cnblogs.com/-new/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得还有帮助的话,可以点一下右下角的【推荐】,希望能够持续的为大家带来好的技术文章!想跟我一起进步么?那就【关注】我吧。

  • 相关阅读:
    3年度研发项目情况项目目标文档
    2系统利益相关者描述案例
    讨论结果
    本学期《软件需求分析》需要掌握的内容(个人总结)
    第二周进度条
    四则运算
    第一周进度记录
    java web
    ke tang zuo ye
    2015-05-26 随笔
  • 原文地址:https://www.cnblogs.com/-new/p/7279777.html
Copyright © 2020-2023  润新知