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课程中,深入理解存储引擎是至关重要的,因为不同的存储引擎有着不同的特性和适用场景,这直接影响到...
完整版 MySQL8.0从入门到精通 MySQL数据库教程 第21章 精通MySQL存储引擎(共31页).ppt 完整版 MySQL8.0从入门到精通 MySQL数据库教程 第22章 PHP操作MySQL数据库(共16页).ppt 完整版 MySQL8.0从入门到精通 MySQL...
根据提供的标题“MySQL入门很简单”以及描述“自己整理的带标签的MYSQL教程《MySQL入门很简单》”,我们可以推测这份教程旨在帮助初学者轻松掌握MySQL的基本操作与应用。下面将基于这一推测,详细介绍MySQL的基础...
11. 存储引擎:介绍InnoDB和MyISAM等存储引擎的特性,以及它们在不同场景下的选择。 四、数据库安全 12. 用户管理:创建、授权和管理MySQL用户,设置权限控制,确保数据安全。 13. 配置与安全:了解MySQL配置文件my...
9. "08-数据库的高级操作 教学设计.doc"和".pdf":可能涵盖索引、触发器、存储引擎、备份恢复等更高级的主题。 这些文件内容相互衔接,形成了一套完整的MySQL数据库学习路径。通过学习这些材料,初学者不仅可以理解...
本教程“MySQL.rar_MYSQL_Mysql入门”旨在帮助初学者在20天内快速掌握MySQL的基本概念、操作以及进阶技巧,从而实现从入门到精通的过渡。 一、MySQL基础知识 1. 数据库概念:理解数据库是什么,它如何存储和组织...
以下是对"MySQL入门资料包"的详细解读: 首先,从标题我们可以知道,这个资料包主要针对的是那些想要入门MySQL的用户。它提供了一系列的学习资源,包括安装教程和帮助文档,这些都是初学者建立坚实基础的重要步骤。...
MySQL5.7是世界上最受欢迎的关系型数据库管理系统之一,尤其在Web开发领域中广泛使用。这份“MySQL5.7从入门到精通”的资源旨在为初学者和有经验的开发者提供一个全面的学习指南,通过高清带书签的PDF文档,使得学习...
《MySQL入门很简单》是一本旨在帮助初学者快速掌握MySQL数据库技术的教程。源代码提供了书中所有实例和练习的实现,让读者能够动手实践,加深理解。以下是对这些知识点的详细阐述: 1. **MySQL简介**:MySQL是一款...
MySQL入门资料PPT MySQL是当前最流行的开源关系型数据库管理系统,广泛应用于Web应用程序与移动应用程序中。本文档对MySQL的基础知识、安装与配置、基本操作、高级特性、性能优化和安全与备份等方面进行了详细的...
7. **XtraBackup备份与恢复**:详述了XtraBackup工具的使用,它是InnoDB存储引擎的高效无锁备份解决方案,用于备份和恢复MySQL数据。 8. **主从原理与配置**:解释了MySQL的主从复制原理,如何设置主服务器和从...
7. **高级话题**:可能包括PHP的错误日志、性能调优、缓存策略、MySQL的存储引擎选择,以及如何部署和维护PHP和MySQL的应用环境。 通过阅读这本书,读者不仅可以掌握PHP5和MySQL的基本操作,还能了解到如何将它们...
以下是一份详细的MySQL入门自学教程概览,基于提供的书籍资源。 1. **MySQL简介**:MySQL是一个开源、免费的数据库,它支持多种操作系统,并具有高可用性、可扩展性和安全性。它的主要功能包括数据存储、检索、更新...
### MySQL入门知识点详解 #### 一、数据库概述 1. **数据存储方式**: - 数据库是组织、存储和管理数据的一种系统。 - 早期的数据存储方式包括平面文件系统,但这种方式存在数据冗余、难以维护等问题。 - 使用...
4. **存储引擎**:MySQL支持多种存储引擎,如InnoDB(事务安全,支持外键)、MyISAM(非事务安全,读写速度快)等。了解它们的区别和应用场景。 5. **安全性**:学习如何创建和管理用户账户,设置权限,以及如何...
4. **存储引擎与索引**:MySQL支持多种存储引擎,如InnoDB和MyISAM,书中会比较它们的优缺点,教你如何选择合适的引擎。同时,索引是提升查询速度的关键,书中会详细讲述如何创建和优化索引。 5. **事务处理与并发...
- **存储引擎选择**:InnoDB支持事务处理,MyISAM适用于读取密集型应用。 - **资源调优**:调整内存设置,如缓冲池大小,以提高性能。 通过这份PDF教程,无论是初学者还是有一定经验的开发者,都能找到对应的学习...
MySQL入门笔记涵盖了MySQL的基本概念、核心结构以及存储引擎的详细解释。MySQL是一个广泛使用的开源关系型数据库管理系统,现由Oracle公司维护。由于其开源、免费和高性能的特点,它已成为许多企业的首选数据库解决...
“mysql系列4-的优化思路.txt”主要关注MySQL性能优化,包括查询优化、存储引擎选择、索引设计、内存配置和服务器参数调整等方面。查询优化是提升系统性能的关键,涉及分析执行计划、避免全表扫描、使用合适的JOIN...