1.什么是存储引擎

   不同的技术以及配套的相关功能在 MySQL中被称作存储引擎。存储机制、索引技巧、锁定水平等等。

2.常见操作

  查看默认存储引擎

    show variables like '%engine%';

  查看数据库支持的存储引擎

    show engines \G;

    show variables like 'have%';  #DISABLED表示被禁用

3.常用索引

  myisam

    不支持事务,也不支持外键,尤其是访问速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表

    每个MyISAM在磁盘上存储成3个文件,其中文件名和表名都相同,但是扩展名分别为:

      .frm(存储表定义)

      .MYD(MYData,存储数据)

      .MYI(MYIndex,存储索引)

    数据文件和索引文件可以放置在不同的目录,平均分配IO,获取更快的速度,临时解决空间不足问题

    表损坏后,不能被访问,数据库异常重启

    CHECK TABLE语句来检查MyISAM表的健康,并用REPAIR TABLE语句修复一个损坏到MyISAM表

    3种不同的存储格式:

      静态(固定长度)表

        存储非常迅速,容易缓存,出现故障容易恢复

        缺点是占用的空间通常比动态表多

        宽度定义补足空格

      动态表

        动态表包含变长字段,记录不是固定长度的,这样存储的优点是占用空间较少

        频繁的更新删除记录会产生碎片,需要定期执行OPTIMIZE TABLE语句或myisamchk -r命令来改善性能,并且出现故障的时候恢复相对比较困难

      

      压缩表

        myisamchk工具创建,占据非常小的空间,因为每条记录都是被单独压缩的,所以只有非常小的访问开支

  InnoDB

    支持事务安全,写效率差,占用更多的磁盘空间保留数据和索引

    自动增长列

      InnoDB表的自动增长列可以手工插入,但是插入的值是空或者0,则实际插入的将是自动增长后的值

      last_insert_id() 查询当前线程最后插入记录使用值,如果一次插入多条记录,返回的是第一条记录使用的自动增长值

      自动增长列必须是索引,如果是组合索引的话,必须是组合索引的第一列

    外键约束

      只有InnoDB支持索引,创建外键时,要求父表必须有对应的索引,子表也会对应创建对应的索引

      删除、更新父表时,对子表进行相应的操作,restrict、cascade、set null和no action

        restrict,no action子表有关联的情况下,父表不能更新

        cascade  父表在更新或者删除时,更新或者删除子表对应的记录

        set null  父表在更新或者删除时,子表对应的子段被set null

      导入多表数据时,暂停外键检查

    

转载于:https://www.cnblogs.com/bigcome/p/9958070.html

mysql常见的存储引擎相关推荐

  1. MySQL常见的存储引擎的区别?

    在MySQL中的存储引擎有很多种,可以通过"SHOW ENGINES"语句来查看.比较常见的是InnoDB.MyISAM.MEMORY这三种. 1.InnoDB存储引擎 InnoD ...

  2. mysql的常用存储引擎_MySQL常见的三种存储引擎

    Ok,我们知道了,引擎就是一个程序的核心组件. 简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式. 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有O ...

  3. MySQL 两种存储引擎:MyISAM与InnoDB对比及理解

    MySQL 两种存储引擎:MyISAM与InnoDB对比及理解 目前MySQL默认的存储引擎是InnoDB 现在大多数时候我们使用的都是InnoDB存储引擎,但是在某些情况下使用MyISAM更好,比如 ...

  4. linux mysql innodb_MySQL innoDB 存储引擎学习篇

    master thread的县城优先级别最高.其内部由几个循环(loop)组成:主循环(loop).后台循环(background loop).刷新循环(flush loop).暂停循环(suspen ...

  5. MySQL体系结构和存储引擎概述

    一.定义数据库和实例 数据库: 物理操作系统文件或其他形式文件类型的集合.数据库文件可以是frm.MYD.ibd 结尾的文件. 从概念上来说,数据库是文件的集合,是依照某种数据模型组织起来并存放于二级 ...

  6. mysql n 存储结构,MySQL体系结构和存储引擎概述

    一.定义数据库和实例 数据库: 物理操作系统文件或其他形式文件类型的集合.数据库文件可以是frm.MYD.ibd 结尾的文件. 从概念上来说,数据库是文件的集合,是依照某种数据模型组织起来并存放于二级 ...

  7. tablestore列式存储原理_10分钟搞透:技术人必会的MySQL体系结构与存储引擎!

    MySQL是目前使用最广的开源数据库,不管从装机量.使用人群.专职人员.社区发展,还是基于MySQL的其他分支,都是当之无愧的No.1. 本文将从以下4个方面,带你搞透MySQL体系结构与存储引擎. ...

  8. 阿里P8架构师谈:MySQL有哪些存储引擎,各自的优缺点,应用场景

    经常面试都会问到MYSQL有哪些存储引擎,以及各自的优缺点.今天主要分享常见的存储引擎:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB)等,以及最常用的 ...

  9. mysql基础之存储引擎

    mysql基础之存储引擎 原文:mysql基础之存储引擎 数据库对同样的数据,有着不同的存储方式和管理方式,在mysql中,称为存储引擎 常用的表的引擎 Myisam ,批量插入速度快, 不支持事务, ...

  10. 【建议收藏】15755字,讲透MySQL性能优化(包含MySQL架构、存储引擎、调优工具、SQL、索引、建议等等)

    0. 目录 1)MySQL总体架构介绍 2)MySQL存储引擎调优 3)常用慢查询分析工具 4)如何定位不合理的SQL 5)SQL优化的一些建议 1 MySQL总体架构介绍 1.1 MySQL总体架构 ...

最新文章

  1. 皮一皮:师太请自重...
  2. 阻塞队列实现日志接口开发
  3. 开发好还是实施好_公众号开发 选择模板好还是选择定制发好
  4. Performance Prism
  5. Android 编译系统分析(三)
  6. POJ2186-Popular Cows(流行的奶牛)【tarjan,强连通分量,图论】
  7. 使用LocalTestServer对HTTP调用进行单元测试
  8. php电影推荐算法,每周一道算法题013:电影推荐
  9. oracle ora 12011,执行oracle中的job报错:ORA-12011:无法执行作业1
  10. 一走进书房的QuickDove
  11. (数据库系统概论|王珊)第十一章并发控制-第二、三、四节:封锁、封锁协议活锁和死锁
  12. 探索Windows命令行系列(7):通过命令编译C#类和Java类
  13. eos节点服务器_长期看,EOS柚子能不能达到1000元?
  14. 提升KVM异构虚拟机启动效率:透传(pass-through)、DMA映射(VFIO、PCI、IOMMU)、virtio-balloon、异步DMA映射、预处理
  15. [导入]不需要任何附加信息的伪凹凸光照计算方法。
  16. python学习笔记9:面向对象编程,类
  17. 初级java程序员要求_java初级程序猿需要具备的能力?
  18. ARTS-18(亲密关系)
  19. bondprice+matlab,债券久期与凸度的Matlab实现
  20. 2018 年计算机语言排行榜,TIOBE:2018年11月编程语言排行榜

热门文章

  1. char强制类型转换为int_数据类型专题之三: char类型和类型转换
  2. java技术分享ppt_精美PPT制作培训 | 技术二部内部分享
  3. android 人脸特征提取方法,qs_face_points_android
  4. oracle18cscott,Oracle 18c 数据库中scott用户不存在的解决方法
  5. python机器学习-乳腺癌细胞挖掘(基于真实美国临床数据)
  6. java list 效率_java list三种遍历方法性能比较
  7. 阿里云云计算 51 在线实验--安全中心初体验
  8. 算法:翻转整数7. Reverse Integer
  9. android如何阻塞主线程,Android主线程阻塞WebView线程
  10. linux运维实战centos7.6,centos7新特性6