mysql手册07_存储引擎


存储引擎其实就是对于数据库文件的一种存取机制,实现存储数据建立索引,以及更新和查询数据等技术的方式。
存储引擎是建立在 数据表 层面上的,同一数据库的不同表可以建立不同的存储引擎。

查看支持的存储引擎:
show engines;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+由表可知 mysql的默认存储引擎InnoDB支持事务、行级锁和外键。查看数据库默认的存储引擎:
show variables like '%storage_engine%';
+---------------------------------+-----------+
| Variable_name                   | Value     |
+---------------------------------+-----------+
| default_storage_engine          | InnoDB    |
| default_tmp_storage_engine      | InnoDB    |
| disabled_storage_engines        |           |
| internal_tmp_mem_storage_engine | TempTable |
+---------------------------------+-----------+

存储引擎的特性:

特点 InnoDB(默认) MyISAM(5.5之前的默认存储引擎) Memory
事务安全 支持 X X
锁机制 行锁(适合高并发) 表锁 表锁
支持外键 支持 X X
存储限制 64TB
B树索引 支持 支持 支持
哈希索引 X X 支持
全文索引 支持(5.6版本之后) 支持
集群索引 支持 X
数据索引 支持 X
索引缓存 支持 支持
数据可压缩 X 支持
空间使用
内存使用
批量插入速度

存储引擎的选择:

InnoDB引擎支持事务、支持外键行级锁。适合对数据准确性要求较高的系统

MyISAM引擎 适合读取和插入多更新和删除少,对事务完整性、并发性要求低的数据表

MEMORY引擎 的表结构存储在磁盘中,但数据文件存储在内存中,有利于数据的快速处理。缺点是无法存储过大的表,且重启或者关机会清除数据。适合更新频率不大的小表

mysql手册07_存储引擎相关推荐

  1. mysql有那些存储引擎_MySQL有那哪些存储引擎

    实际我们在平时的开发中,经常会遇到的,在用SQLyog等工具创建表时,就有一个引擎项要你去选.如下图: Mysql的存储引擎有这么多种,实际我们在平时用的最多的莫过于InnoDB和MyISAM了. 所 ...

  2. 数据库基础笔记(MySQL)7 —— 存储引擎和视图 ( 完结撒花 )

    存储引擎 实在是学浅才疏,只能大致写点,放篇大佬的,看详细的去吧 传送门 ,等我闲下来学会了再来补充 即一个表存储数据的方式,不同的存储引擎会提供不同的功能,性能等 可以用 engine 指定存储引擎 ...

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

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

  4. 【MySQL】MySQL的核心——存储引擎

    [1] 存储引擎   1.存储引擎其实就是对于数据库文件的一种存取机制,如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法.   2.MySQL中的数据用各种不同的技术存 ...

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

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

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

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

  7. MySQL 架构组成—存储引擎

    博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! MySQL Server 系统架构 上图 ...

  8. mysql递归查询所有上下节点_【转】MySQL之Spider存储引擎原理详解

    一.概述 Spider是为MySQL/MariaDB开发的一个特殊引擎,具有内嵌分片功能.MariaDB从10.0.4开始支持Spider.作为MariaDB的一个新的主要特性.Spider的主要功能 ...

  9. mysql 修改时间段内_详解mysql数据库MyISAM存储引擎如何转为Innodb及其中的注意点...

    概述 mysql数据库存储引擎为MyISAM的时候,在大访问量的情况下数据表有可能会出现被锁的情况,这就会导致用户连接网站时超时而返回502,此时就需要MySQL数据库MyISAM存储引擎转为Inno ...

  10. 如何查看MySQL的当前存储引擎?

    如何查看MySQL的当前存储引擎? 一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看:看你的mysql现在已提供什么存储引擎: mysql> show engines;看你的m ...

最新文章

  1. 一行命令搞定图像质量评价 | 附代码和操作步骤
  2. 实施Kubernetes可以实现多云架构安全
  3. 单商户商城与多商户商城的区别
  4. Swift 开源带来的思考
  5. multi-target not supporte
  6. 在八十年代末,比尔·盖茨和史蒂夫·巴尔默
  7. Win7下硬盘安装Redhat双系统
  8. PHP获取汉字首字母并分组排序
  9. MFC中使用CTabCtrl或CPropertySheet实现标签页
  10. bzoj 3111: [Zjoi2013]蚂蚁寻路(DP)
  11. 软件测试经典问题——NextDate函数
  12. LINUX SHELL让一个应用进程脱离终端运行
  13. Spring Boot中Bean管理
  14. 推荐一款PDF阅读工具Apabi Reader
  15. python中单引号的作用_Python中单引号,双引号,3个引号的用法
  16. 用html页面制作开关,自己做了几个可以直接套用的 HTML5 小开关
  17. ES监视器Watcher详解
  18. 【思维方法】之第一性原理
  19. 京东内部资料【自然搜索排序白皮书】打算混京东的屌丝必看!
  20. 刷脸支付:一场输不起的战役

热门文章

  1. Windows10+VS2019+OpenGL安装配置详解
  2. 安卓开发之ListView优化方案
  3. 单元测试用例如何编写
  4. 2021年最新DNF脚本框架
  5. MySQL 根据身份证号查询个人信息
  6. camera hardware module
  7. MATLAB曲线拟合函数
  8. SMT工艺培训一日谈
  9. csgo准星设置代码_csgo准星代码怎么输入
  10. Qt视频直播软件--项目实战(Day6)