MySQL中主要使用到三种数据表:MyISAM、InnoDB与HEAP。
HEAP是存储在内存中的数据表,如果计算机关闭或重启或者mysqld进程崩溃,数据表就不存在,而且无法恢复了,但是其速度飞快。HEAP的限制也比较多,不允许使用xxxTEXT和xxxBLOB数据类型,只允许使用=和<=>操作符来搜索记录(不允许使用<、>、<=或=>操作符);不支持AUTO_INCREMENT属性;只允许对NOT NULL数据列进行索引。
InnoDB与MyISAM都是存储在硬盘上的数据表,其中InnoDB是MySQL公司自己开发的引擎,而InnoDB是另外一家公司开发的,在进行商业授权时,支持InnoDB的价格要贵一点,但是InnoDB支持事务,而MyISAM不支持事务。
相较于MyISAM,InnoDB有以下优点:
- 支持事务:就是一大串指令一起执行,如果中间有一行出错,那么恢复到这串指令执行前的状态(我是这么理解的)。
- 数据行级锁定
- 外键约束条件(这个我还不太清楚,等清楚了再详细说明)
- 崩溃恢复:在发生崩溃后,InnoDB数据表能够迅速地自动恢复到一个稳定可用的状态。
InnoDB的单条数据记录长度占用8000个字节,TEXT和BLOB数据列列只有前512字节是存储在数据记录里的。
InnoDB存储空间占用量比MyISAM大的多,不支持全文索引,不能用来保存GIS数据,COUNT函数的速度比MyISAM的COUNT速度要慢的多。
MyISAM数据表:
MyISAM又分为静态(MyISAL Static)与动态(MyISAM Dynamic)两种。
如果数据表里的数据列各自都有预先定义好的固定长度,MySQL自动选择静态数据表类型,这种表的数据存取效率非常高,安全性也相当高,即使出现文件受损或其他问题,数据记录的撮和恢复工作也比其他类型的数据表容易。
如果在数据表里有且只有一个VARCHAR、xxxTEXT或xxxBLOB字段,MySQL将自动选择动态数据表类型,动态表对存储空间要小的多,如果对这类表进行频繁的更新,会产生很多碎片,要经常使用OPTIMIZE TABLE来优化。
可以使用myisamchk命令对MyISAM表进行压缩,表压缩后功能会受到很大限制,例如不能进行UPDATE
分享到:
相关推荐
标题中的“中国省市区城市列表mysql数据表”指的是一个包含了中国所有省份、城市、区县的数据表,专门设计用于MySQL数据库系统。这个数据表能够帮助用户快速构建与地理位置相关的应用程序,比如地图服务、物流配送...
1.包含一个films.sql...该sql文件里面包含一个mysql数据表films,内含35000部电影m3u8源地址。 3.films数据表包含每部电影名及对应m3u8源地址。 4.可以直接应用在自己的电影网站上面。 5.资源全自网络爬取而来。
MySQL 数据表导出为 Word 文档工具 MySQL 数据表导出为 Word 文档工具是软件开发中一个重要的工具,能够将 MySQL 数据库中的数据表导出为 Word 文档,使得数据库的记录和管理更加方便。 MySQL 数据库连接 在使用...
包含中国的省市区县的mysql表
MySQL数据表直接生成Word文档数据字典是一种便捷的方法,它帮助数据库管理员和开发人员快速整理并记录数据库结构信息。在数据库设计和维护过程中,数据字典是至关重要的,它提供了关于数据库模式、字段、类型、约束...
标题"查看MySQL数据表"暗示我们要讨论的是如何在MySQL环境中检查和浏览已存在的数据表。这通常涉及到以下步骤: 1. **连接数据库**:使用正确的用户名、密码、主机名(可能为localhost)以及数据库名称,通过命令行...
mysql城市表 包含省,市,区,城镇,包括相互之间得关系,可直接导入数据库使用
MySQL数据表调用客户端是一种非常实用的工具,主要用于管理和操作MySQL数据库中的数据表。这个工具提供了用户友好的界面,使得数据库的建立、查看以及管理变得简单易行,无需消耗额外的系统资源。在本篇文章中,我们...
下面我们将详细探讨如何使用Shell脚本来创建MySQL数据表,以及如何结合SQL脚本实现这一过程。 首先,`Shell`是一种Unix或Linux操作系统中的命令解释器,允许用户与系统进行交互。通过编写Shell脚本,我们可以构建...
【标题】"最新全国省市区县(含港澳台)的mysql数据表"涉及的主要知识点是MySQL数据库管理和地理信息系统的结合,特别是如何在MySQL中构建一个包含全国所有省份、城市、区县,包括港澳台地区的数据表。这通常用于...
总之,MySQL数据表导出到XML文件是一个涉及数据库连接、数据查询、XML生成和数据可视化的综合过程。"XMLmaker"可能是一个集成了这些功能的工具,帮助用户方便地管理和查看数据库数据。在实际操作中,理解这些基本...
根据全国省市区拼音的首字母(适用于按照A-Z排序)的mysql数据,大家下载的时候注意一下数据实时性哦~
MySQL数据表拷贝是数据库管理中的常见操作,主要用于数据迁移、备份或复制环境。在.NET环境中,我们可以利用各种编程库来实现这一功能。本程序旨在提供一个简单的解决方案,帮助用户快速复制MySQL数据库中的数据表。...
SAE中搭建mysql数据表,供AppInventor访问
标题 "全球主要国家数据表mysql" 指的是一个专门设计用于MySQL数据库的表格,包含了全球各个国家的主要信息。这个数据表可能包含了各国的基本统计数据,如国家名称、首都、人口、面积、货币、国际电话区号等。这些...
世界省市区mysql数据表,包含最新版的国内省市县
2021年最新省市区MySQL数据表
全国省市区数据,MySQL数据表,导入数据库可直接使用(含地区编码、地区名称、地区级别、父节点等字段)。
最新最全好用的全国城市MYSQL数据表(绝对能用亲测) 单个表的数据 直接导入可用
2022年每日对应的日期类型mysql数据表sql 导入sql到数据库即可根据实际情况改动使用