第3章-MySQL存储引擎和数据类型(1)存储引擎介绍_第1页
第3章-MySQL存储引擎和数据类型(1)存储引擎介绍_第2页
第3章-MySQL存储引擎和数据类型(1)存储引擎介绍_第3页
第3章-MySQL存储引擎和数据类型(1)存储引擎介绍_第4页
第3章-MySQL存储引擎和数据类型(1)存储引擎介绍_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章

MySQL存储引擎和数据类型

(1)

MySQL存储引擎介绍网络数据库MySQL体系结构MySQL存储引擎介绍InnoDB存储引擎MyISAM存储引擎MEMORY存储引擎MySQL的其他存储引擎常用存储引擎的特点查询MySQL中支持的存储引擎改变MySQL数据库和表的存储引擎主要内容1、MySQL体系结构图:一、MySQL体系结构Connectors:用来与客户端应用程序建立连接的数据库接口ManagementServices&Utilities:系统管理和服务控制相关的辅助工具ConnectionPool:负责处理与用户访问有关的各种用户登录、线程处理、内存和进程缓存需求SqlInterface:提供从用户接受命令并把结果返回给用户的机制Parser:对SQL语句进行语法分析和解析,构造一个来执行查询的数据结构一、MySQL体系结构1、MySQL体系结构图:Optimizer:优化查询语句,以保证数据检索动作的效率达到或者非常接近最最优。使用一种“选取-投影-联结”策略来处理查询,即先根据有关的限制条件进行选取(Select操作)以减少将要处理的元组个数,再进行投影以减少被选取元组力的属性字段的个数,最后根据连接条件生产最终的查询结果Caches&Buffers:保证使用频率最高的数据或结构能够以最有效率的方式被访问,缓存的类型有:表缓存、记录缓存、键缓存、权限缓存、主机名缓存等。一、MySQL体系结构1、MySQL体系结构图:插件式表存储引擎是底层物理结构的实现负责为数据库执行实际的数据I/O操作它是基于表而不是数据库的。可以根据实际应用需求为服务器、数据库和每个表设定不同的选择。插件式存储引擎的核心是文件访问层的一个抽象接口,任何人都可以利用这个API接口去建立新的文件访问机制一、MySQL体系结构2、插件式存储引擎:二、MySQL存储引擎介绍存储引擎:如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。表类型:在关系数据库中数据的存储是以表的形式存储的,即存储和操作此表的类型。1、概念在其他数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。MySql数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎。用户也可以根据自己的需要编写自己的存储引擎。二、MySQL存储引擎介绍2、特点InnoDBMyISAMMemoryArchiveNDBMaria其他二、MySQL存储引擎介绍3、主要存储引擎并发性:锁粒度锁定类型事务处理:ACID外键支持索引支持支持的字段和数据类型物理存储:表与索引等文件格式存储限制数据压缩二、MySQL存储引擎介绍4、关键技术开发十余年,由InnobaseOy公司开发(2006被Oracle收购)用户:Yahoo、Facebook、Youtube、Google等第一个支持外键超强事务处理能力,第一个完整支持ACID事务MySQL5.5后,默认的存储引擎三、InnoDB存储引擎1、简介:优点:超强事务处理能力回滚崩溃修复能力行锁设计,提供并发性,同时支持MVCC(多版本并发控制)缺点:读写效率较差占用数据空间较大三、InnoDB存储引擎2、特点:三、InnoDB存储引擎3、文件存储:表结构存储在.frm文件中数据存储在innodb_data_home_dir表空间中索引存储在innodb_data_file_path表空间中独立的ibd文件存储表结构和数据更新密集的表:多重并发的更新请求事务:管理敏感数据自动灾难恢复适用系统:基于MySQL的Web电子商务金融系统零售应用三、InnoDB存储引擎4、适用场合:MySQL中常见的存储引擎,曾是默认不支持事务四、MyISAM存储引擎1、简介:文件类型:frm:存储表结构myd:存储数据myi:存储索引存储格式:静态型:列大小为静态,性能高,占用空间大动态型:有动态列,性能不高,占用空间小压缩型:整个应用程序生命周期中只读的表,占用空间小四、MyISAM存储引擎2、文件类型及存储格式:数据存储方式简单,使用B+Tree进行索引少碎片、支持大文件、能够进行索引压缩

二进制层次的文件可以移植(LinuxWindows)

访问速度快,是所有MySQL文件引擎中速度最快的

不支持一些数据库特性,比如事务、外键约束等Tablelevellock,性能稍差,更适合读取多的操作表数据容量有限,一般建议单表数据量介于50w–200w增删查改以后要使用myisamchk检查优化表四、MyISAM存储引擎3、特点:强调数据检索速度非事务表频繁插入和读取记录应用完整性、并发性要求低四、MyISAM存储引擎4、适用场合:默认使用哈希索引,索引速度快五、Memory存储引擎1、简介:文件名为表名,后缀为.frm只存储的表结构,数据文件存储在内存中五、Memory存储引擎2、文件存储形式:表大小受限,默认16M服务器重启时,Memory表里的数据全部丢失只支持表锁,并发性能差不支持VARCHAR、TEXT和BLOB类型按照定常方式存储变长字段(varchar)数据高速度,低延迟,不适合频繁写五、Memory存储引擎3、特点:存储临时数据对读写速度要求高对安全性要求低表的大小较小数据丢失对应用服务不产生影响五、Memory存储引擎4、适用场合:行锁机制更好的支持多线程多用户并发更好的支持读写混合语句以及扩展可选择磁盘存储介质永久保存数据Shared-nothing和分布式架构保证无单点故障,99.999%可用性数据自动分布在各个节点,应用开发者无需考虑分区或分片解决方案支持MEMORY中不支持的变长数据类型(包括BLOB和TEXT)六、MySQL其他存储引擎介绍----—ClusterVSMemory目标:提供高速的插入和压缩功能特点:只支持Insert和Select操作支持行锁来实现高并发的插入操作不支持事务采用zlib算法压缩存储,压缩比例达1:10适用场合:存储归档数据,如日志信息六、MySQL其他存储引擎介绍----—ArchiveMySQLNDBcluster架构图

六、MySQL其他存储引擎介绍----—NDBNetworkdatabase,一种集群存储引擎采用sharenothing集群架构每个节点都拥有自己的内存和磁盘特点:数据全部放在内存中,主键查询速度快增加NDB存储节点,可线性提高性能Join连接的网络开销大对RAM需求大适用场合:冗余、高可用性、负载均衡六、MySQL其他存储引擎介绍----—NDB目标:取代原有的MyISAM存储引擎特点:缓存数据和索引文件行锁设计提供MVCC功能支持事务和非事务安全六、MySQL其他存储引擎介绍-----—MariaFederatedMergeCSVSphinxInfobright……六、MySQL其他存储引擎介绍----—其他七、常用存储引擎的特点Showengines;(\g或\G)Showvariableslike‘have%’八、查询MySQL中支持的存储引擎语法:ALTERTABLE表名ENGINE=存储引擎名称优点:简单、可以使用于任何的表引擎。缺点:需要执行很长时间,不适合在非常繁忙的系统中使用。如果使用这种方式转换表引擎会失去和原表引擎相关的特性。九、改变MySQL数据库和表的存储引擎1、ALTERTABLE使用方法:将数据导出到文件,注意修改表名然后修改文件中的CREATETABLE语句的ENGIN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论