MySQL入门 (七) : 储存引擎与资料型态
1 表格与储存引擎
表格(table)是资料库中用来储存纪录的基本单位,在建立一个新的资料库以后,你必须为这个资料库建立一些储存资料的表格:
每一个资料库都会使用一个资料夹,这些资料库资料夹用来储存所有资料库各自需要的档案:
「Storage engine、储存引擎」是MySQL用来储存资料的技术,为了资料库多样化的应用,你可以在建立表格的时候,依照自己的需求指定一种储存引擎,不同的储存引擎会有不同的资料储存方式与运作的特色。 MySQL提供许多储存引擎让你选择,下列是主要的三种储存引擎的简介:
- MyISAM:MySQL预设的储存引擎,虽然它支援的功能并没有像一般的资料库那么多(例如交易、transaction);不过也因为它比较简单,所以运作的效率相对也比较好
- InnoDB:这种储存引擎所提供的功能已经跟大型的商用资料库软体一样了,像是交易(transaction)、纪录锁定(row-level locking)与自动回复(auto-recovery)。
- MEMORY:这是一个比较特殊的储存引擎,它把资料储存在纪忆体中,所以运作的效率是最快的;不过只要MySQL伺服器关闭后,储存的资料就全部不见了。
1.1 MyISAM
「MyISAM」是MySQL预设的储存引擎,「预设」的意思是如果你在建立表格的时候没有指定一种储存引擎,MySQL会帮你建立的新表格指定为「MyISAM」储存引擎。 以下列一个使用MyISAM储存引擎的资料库来说,在资料库资料夹中的档案会像这样:
当你建立一个表格以后,「MyISAM」储存引擎会建立以表格名称为档案名称的三个档案,以「city」表格来说:
使用「MyISAM」储存引擎的资料库具有「可携性、portable」的特色,你可以很容易的把一个资料库复制到另外一台电脑的MySQL伺服器中:
注:使用「MyISAM」储存引擎时,MySQL并不会限制一个资料库中可以包含的表格数量。 不过一个表格会在档案系统中建立三个档案,如果超过作业系统对于档案数量或容量的限制,你就不能再建立任何新的表格。
1.2 InnoDB
MySQL资料库伺服器从3.23.49版本开始把「InnoDB」储存引擎列为正式支援的功能,所以从这个版本开始,MySQL也提供与大型商用资料库软体一样的功能。 最主要的功能是支援「交易、transaction」,在比较复杂的资料库应用系统中,很常遇到这样的情况:
在顺利的情况下,当然不会有任何问题。 可是如果发生下列的情况:
这样的情况是一定要避免,否则资料库中储存的资料就会出现很大的问题了。 所以一般的大型商用资料库都会使用交易的功能来处理这样的情况:
「InnoDB」储存引擎除了提供许多功能外,与「MyISAM」储存引擎最大的差异是档案的储存方式:
「InnoDB」储存引擎实际储存在档案系统中的档案会像这样:
注:因为使用「InnoDB」储存引擎的表格会使用同一个储存空间,所以不同资料库的表格资料也会储存在一起。 「InnoDB」储存引擎限制在这个共用的储存空间中不能超过两百万个表格。
点击阅读全文
更多参考:
MySQL 超新手入门教程系列
MySQL入门 (一) : 资料库概论与MySQL的安装
MySQL入门 (二) : SELECT 基础查询
MySQL入门 (三) : 运算式与函式
MySQL入门 (四) : JOIN 与UNION 查询
MySQL入门 (五) : CRUD 与资料维护
MySQL入门 (六) : 字元集与资料库
MySQL入门 (八) : 表格与索引
本文转自: MySQL入门 (七) : 储存引擎与资料型态
MySQL入门 (七) : 储存引擎与资料型态相关推荐
- MySQL数据库Innodb储存引擎----储存页的结构
上一篇博客回顾: 1:数据库拥有众多的储存引擎,现在主要使用的是Inoodb,这个储存引擎有Compact,Redundant,Dynamic,Compressed四种行格式 2:Compact行格式 ...
- MySQL入门--设置存储引擎
MySQL设置存储引擎 1)查询存储引擎 l 使用SELECT 确认会话存储引擎: SELECT @@default_storage_engine; l 确认每个表的存储引擎: ? SHOW C ...
- MySQL入门 (六) : 字元集与资料库
1 Character Set与Collation 任何资讯技术在处理资料的时候,如果只是单纯的数值和运算,那就不会有太复杂的问题:如果处理的资料是文字的话,就会面临世界上各种不同语言的问题. 以资料 ...
- MySQL入门 (九) : 子查询 Subquery
1 一个叙述中的查询叙述 子查询(subquery)是一种很常见的应用,不论是查询.新增.修改或删除都有可能出现. 子查询是一个放在左右刮号中的「SELECT」叙述,而这个查询叙述会放在另一个SQL叙 ...
- javascript 资料型態/结构验证库 : Skeletons
Skeletons 是一个简单直觉的纯JS资料验证庫 前言 当初专案需要将资料以JSON格式储存在本地端,万一资料结构出了问题或是不符合预其,后面程式都会出问题,因此想写一个简单直觉的纯JS资料验证方 ...
- MySQL入门 (五) : CRUD 与资料维护
1 取得表格资讯 1.1 DESCRIBE指令 「DESCRIBE」是MySQL资料库提供的指令,它只能在MySQL资料库中使用,这个指令可以取得某个表格的结构资讯,它的语法是这样的: 你在MySQL ...
- MySQL数据库储存引擎Inoodb一--记录储存结构
在开文我先说明一下,接下来的数据库知识文章都是在微信公众号"我们都是小青蛙"学习然后在通过自己的理解进行书写的.有兴趣的朋友可以去关注这个微信公众号.话不多说,我们在日常使用数据库 ...
- mysql用户信息表储存引擎,Mysql表引擎
MySQL--存储引擎篇 前面总体介绍了MySQL的几个基本命令,这里介绍MySQL的存储引擎. 储存引擎就是指表的类型,数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是MySQL的特点 ...
- MySql (4)-储存引擎、索引、锁、集群
MySQL高级 一.MySQL存储引擎 1.MySQL体系结构 体系结构的概念 任何一套系统当中,每个部件都能起到一定的作用! MySQL的体系结构 体系结构详解 客户端连接 支持接口:支持的客户端连 ...
最新文章
- c语言运行时显示内存不足,请问:c或c++运行时 遇到虚拟内存不足时咋办,帮优化下代码...
- 录入键盘字母输入并将小写变为大写
- LUOGU P4195 Spoj3105 Mod
- 基于 ASK + EB 构建容器事件驱动服务
- Kruskal+LCA【p2245】 星际导航
- VTK:图片之ImagePermute
- Excutor线程池
- 沪教版神奇的机器人分段_神奇的机器人课文教学设计
- Single Responsibility Principle (SRP) - OO设计的单一职责原则
- 《Linux 设备驱动开发详解(第2版)》——1.4 Linux设备驱动
- 约瑟夫环问题:猴子选大王
- vue-admin-template修改登录功能
- 个人投资者金融期货开户的条件
- Vue项目上线的基本流程
- vba字典的key属性、item属性和keys方法、items方法、add方法
- python定义一个矩形类_矩形类Python
- linux检查语法错误的命令,使用CHECKSYNTAX命令检查RMAN脚本是否存在语法错误
- Skype、MSN/Live Messenger、Lync全面整合
- Activiti6.0.0及以上版本集成Activiti Modeler
- ARPG游戏技能系统设计
热门文章
- 信息学奥赛一本通(1061:求整数的和与均值)
- Little Elephant and Shifts(CF-220C)
- Hat’s Words(HDU-1247)
- 分治 —— 莫队算法 —— 普通莫队
- php 查询数据排序,php如何对查询结果集进行排序
- MySQL useSSS_Mysql 常用操作记录
- ds图—最小生成树_Python实现最小生成树
- error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/r
- 清除css,js,img的浏览器缓存
- Bootstrap-CSS-排版