• mysql存储引擎


    1、什么是存储引擎?

     关系数据库是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于excel的电子表格的形式。有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时却很差。而我们在实际开发过程中,就可能需要各种的表,不同的表,就意味着存储不同类型的数据,数据处理上也会存在着差异。对于mysql来说,它提供了很多类型的存储引擎,我们可以根据数据处理的需求,选择不同的存储引擎,从而最大限度的利用Mysql强大的功能。

    在mysql客户端中,使用以下命令可以查看Mysql支持的引擎。

    SHOW ENGINES ;

    2、mysql存储引擎的总结

    MyISAM:当我们建立一个MyISAM引擎的表时,就会在本地磁盘上建立三个文件,文件名就是表名。例如,我建立一个MyISAM引擎的tb_Demo表,那么就会生成以下三个文件:

    1、tb_Demo.frm,存储表定义

    2、tb_Demo.MYD,存储数据

    3、Tb_Demo.MYI,存储索引

    MyISAM表无法处理事务,这就意味着有事务处理需求的表,不能使用MyISAM存储引擎。

    MyISAM存储引擎特别适合在以下几种情况下使用:

    1、选择密集型的表:MyIASM存储引擎在筛选大量数据时非常迅速,这是它最突出的有点。

    2、插入密集型的表:MyISAM的并发插入特性允许同时选择和插入数据。例如:MyISAM存储引擎很适合管理右键或web服务器日志数据。

    InnoDB是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用,为用户操作非常大的数据提供了一个强大的解决方案。我的电脑上安装的MySQL5.6.17版,InnoDB就是作为默认的存储引擎。InnoDB还引入了行级锁定和外键约束,在以下场合下,使用InnoDB是最理想的选择:

    1、更新密集型的表:InnoDB存储引擎特别适合处理多重并发的更新请求

    2、事务:InnoDB存储引擎是支持事务的标准MySQL存储引擎

    3、自动灾难恢复:与其他存储引擎不同,InnoDB表能够自动从灾难中恢复

    4、外键约束:MySQL支持外键的存储引擎只有InnoDB

    5、支持自动更加列AUTO_INCREMENT属性

    一般来说,如果需要事务支持,并且有较高的并发读取频率,InnoDB是不错的选择。

  • 相关阅读:
    使你的 Google Summer of Code 建议被接收的5个技巧
    洗牌算法
    自由--永不妥协
    Google Code Jam 2014 总结
    《神经网络与深度学习》(三) 稀疏编码
    《神经网络与深度学习》(二) 常用模型之自编码器
    《神经网络与深度学习》(四) 受限玻尔兹曼机
    《神经网络与深度学习》(五) 卷积神经网络CNN及tensorflow代码实现示例
    《神经网络与深度学习》(一) 感知机、多层神经网络、BP算法、深度学习
    语义哈希(semanticHashing)
  • 原文地址:https://www.cnblogs.com/xwlong/p/7026155.html
Copyright © 2020-2023  润新知