游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

MySQL基础入门MySQL的体系架构

  前言
  MySQL的版本众多,目前最新版本为MySQL8,考虑到实际的情况,MySQL系列文章将以CentOS7下MySQL5。7。32社区版本进行学习交流。下载地址:https:downloads。mysql。comarchivescommunity
  学习的过程中可以多参考官方文档,官方文档地址:
  https:dev。mysql。comdocrefman5。7en
  https:dev。mysql。comdocmysqlerrors5。7en
  MySQL基础入门:MySQL的体系架构大纲MySQL体系架构
  MySQL体系架构,自上往下大致可分为连接层、服务层、存储引擎层和系统文件层。
  MySQL体系架构图1。网络连接层
  客户端连接器(Connectors),负责与客户端打交道,提供与MySQL服务器建立连接的支持,目前几乎支持所有主流编程语言。例如:JDBC、。NET、Python、Ruby、VB等。
  连接层包括通信协议、线程处理、用户名密码认证3部分。
  MySQL链接示意图2。服务层
  主要包含系统管理和控制工具、连接池、SQL接口、解析器、查询优化器、缓存六大部分。系统管理和控制工具(ManagementServicesUtilities):提供如备份恢复、安全管理、集群管理等基础服务连接池(ConnectionPool):客户端每次与服务端建立连接都需要耗费大量的时间,而连接池就负责存储和管理客户端与数据库的连接,下次使用,直接从连接池中获取,提升服务器性能。可以通过下面免命令查看MySQL服务器连接池配置的最大连接数mysqlshowVARIABLESlikemaxconnections;VariablenameValuemaxconnections5001rowinset(0。00sec)SQL接口(SQLInterface):用于接受客户端发送的各种SQL命令,并且返回用户需要查询的结果。比如DML、DDL、存储过程、视图、触发器等解析器(Parser):SQL命令传递到解析器的时候会被解析器解析和验证将SQL语句按照语法规则分解成特定的数据结构(解析树),并将这个数据结构向后传递。经过解析器之后的SQL语句的传递和处理都是基于这个数据结构的。如果在解析过程中遇到错误,则说明这个SQL语句是不合法的查询优化器(Optimizer):SQL语句会在执行查询之前,进行一系列的优化,例如重写查询,决定表的读取顺序,以及选择需要的索引等,这个阶段客户是可以通过特定的命令查询到优化器是如果进行优化的,然后继续向后传递,交由存储引擎缓存(CacheBuffers):当然在执行查询之前,会判断是否开启缓存,如果开启还会检查当前SQL语句是否命中缓存,如果命中,则直接从缓存中获取数据,直接返回。这个缓存机制由一系列的小缓存构成。比如表缓存,记录缓存,key缓存,权限缓存等。mysqlshowvariableslikequerycachetype;VariablenameValuequerycachetypeOFF1rowinset(0。00sec)
  是否开启缓存,默认OFF关闭查询缓存,ON表示开启查询缓存,DEMAND表示用户自定义查询缓存。
  querycachetype只能配置在my。cnf文件中,无法直接通过命令开启或关闭缓存。在配置文件的〔mysqld〕下,增加配置:〔mysqld〕querycachetype1
  配置参数:
  0:关闭缓存
  1:开启缓存,但是默认缓存,放弃缓存需要增加sqlnocache提示SELECTsqlnocacheFROMtablenameWHEREid1;
  2:开启缓存,但是默认不缓存,执行缓存需要增加sqlcache提示SELECTsqlcacheFROMtablenameWHEREid1;
  缓存大小(单位:字节),默认值1Mmysqlshowvariableslikequerycachesize;VariablenameValuequerycachesize335544321rowinset(0。00sec)
  是否支持查询缓存:mysqlshowvariableslikehavequerycache;VariablenameValuehavequerycacheYES1rowinset(0。00sec)
  生产环境一般不建议开启。QueryCache严格要求2次SQL请求要完全一样,包括SQL语句,连接的数据库、协议版本、字符集等因素都会有影响。
  MySQL在其最新的8。0版本中,删除了查询缓存(QueryCache)区域,就此,MySQL的QueryCache彻底的退出了历史舞台。在5。7版本中,MySQL已经将QueryCache的选项(querycachetype)的缺省值设为了关闭,并在5。7。20版本中,将该配置标记为了Deprecated。3。存储引擎层
  数据库保存数据的核心技术,存储引擎服务于存储服务,是数据库中的底层套件,在创建表中使用,指定通过何种引擎存储数据,MySQLV5。1之后默认使用的存储引擎为InnoDB。不同的存储引擎有不同的存储机制,并且支持的功能也不相同。对于存储引擎的选择,基本上都是根据需求来定的。
  MySQL数据库区别于其他数据库的最重要的一个特点就是其插件式的表存储引擎。MySQL插件式的存储引擎架构提供了一系列标准的管理和服务支持,这些标准与存储引擎本身无关,可能是每个数据库系统本身都必需的,如SQL分析器和优化器等,而存储引擎是底层物理结构和实际文件读写的实现,每个存储引擎开发者可以按照自己的意愿来进行开发。需要特别注意的是,存储引擎是基于表的,而不是数据库。
  MySQL存储引擎概要InnoDB存储引擎
  InnoDB是MySQL的默认事务型引擎,也是最重要、使用最广泛的存储引擎。它被设计用来处理大量的短期(shortlived)事务,短期事务大部分情况是正常提交的,很少会被回滚。InnoDB的性能和自动崩溃恢复特性,使得它在非事务型存储的需求中也很流行。MyISAM存储引擎
  在MySQL5。1及之前的版本,MyISAM是默认的存储引擎。MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但是MyISAM不支持事务和行级锁,而且有一个致命的缺陷就是崩溃后无法安全恢复。
  尽管MyISAM引擎不支持事务、不支持崩溃后的安全恢复,但它绝不是一无是处的。对于只读的数据,或者表比较小、可以忍受修复(repair)操作,则依然可以继续使用MyISAM。
  除此之外,MyISAM对整张表加锁,而不是针对行。读取时会对需要读到的所有表加共享锁,写入时则对表加排他锁。所以,MyISAM很容易因为表锁的问题导致典型的的性能问题。MrgMyISAM存储引擎
  Merge存储引擎,也被称为MrgMyISAM引擎,是一组MyIsam表的集合,也就是说,他将MyIsam引擎的多个相同的表聚合起来,但是他的内部没有数据,真正的数据依然是MyIsam引擎的表中,但是可以直接进行查询、删除更新等操作。相同意味着所有表具有同样的列和索引信息。Archive存储引擎
  Archive存储引擎只支持INSERT和SELECT操作,且在MySQL5。1之前不支持索引。Archive引擎会缓存所有的写并利用zlib对插入的行进行压缩,所以比MyISAM表的磁盘IO更少。但是每次SELECT查询都需要执行全表扫描。所以Archive表适合日志和数据采集类应用,这类应用做数据分析时往往需要全表扫描。或者在一些需要更快速的INSERT操作的场合下也可以使用。Archive引擎不是一个事务型的引擎,而是一个针对高速插入和压缩做了优化的简单引擎。Blackhole存储引擎
  MySQL在5。x系列提供了Blackhole引擎黑洞。其作用正如其名字一样:任何写入到此引擎的数据均会被丢弃掉,不做实际存储,Select语句的内容永远是空。
  Blackhole虽然不存储数据,但是MySQL还是会正常的记录下Binlog(MySQL最重要的日志,主要用于主从复制和数据恢复)。所以可以用于复制数据到备库,或者只是简单地记录到日志。这种特殊的存储引擎可以在一些特殊的复制架构和日志审核时发挥作用。CSV存储引擎
  CSV引擎可以将普通的CSV文件(以逗号分割的文件)作为MySQL的表来处理,但是这种表不支持索引。CSV引擎可以在数据库运行时拷入或者拷出文件。可以将Excel等的数据存储为CSV文件,然后复制到MySQL数据目录下,就能在MySQL中打开使用。同样,如果将数据写人到一个CSV引擎表,其他的外部程序也能立即从表的数据文件中读取CSV格式的数据。因此CSV引擎可以作为一种数据交换的机制,非常有用。Federated存储引擎
  Federated引擎是访问其他MySQL服务器的一个代理,它会创建一个到远程MySQL服务器的客户端连接,并将查询传输到远程服务器执行,然后提取或者发送需要的数据(类似于Oracle的dblink)。
  当我们创建一个以Federated为存储引擎的表时,服务器在数据库目录只创建一个表定义文件。文件由表的名字开始,并有一个frm扩展名。无其它文件被创建,因为实际的数据在一个远程数据库上。这不同于为本地表工作的存储引擎的方式。Memory存储引擎
  Memory类型的表访问数据非常快,因为它的数据是存放在内存中的,并且默认使用HASH索引,但是一旦服务关闭,表中的数据就会丢失。
  Memory表至少比MyISAM表要快一个数量级,因为每个基于MEMORY存储引擎的表实际对应一个磁盘文件。该文件的文件名与表名相同,类型为frm类型。该文件中只存储表的结构。而其数据文件,都是存储在内存中,这样有利于数据的快速处理,提高整个表的效率,不需要进行磁盘IO。所以Memory表的结构在重启以后还会保留,但数据会丢失。
  Memroy表在很多场景可以发挥好的作用:用于查找(lookup)或者映射(mapping)表,例如将邮编和州名映射的表。用于缓存周期性聚合数据(periodicallyaggregateddata)的结果。用于保存数据分析中产生的中间数据。
  虽然Memory表的速度非常快,但还是无法取代传统的基于磁盘的表。Memroy表是表级锁,因此并发写入的性能较低。它不支持BLOB或TEXT类型的列,并且每行的长度是固定的,所以即使指定了VARCHAR列,实际存储时也会转换成CHAR,这可能导致部分内存的浪费。DNB集群引擎
  使用MySQL服务器、NDB集群存储引擎,以及分布式的、sharenothing的、容灾的、高可用的NDB数据库的组合,被称为MySQL集群((MySQLCluster)。
  常用存储引擎的选择和比较
  在使用MySQL数据库时,选择一个合适的存储引擎是一个非常复杂的问题。不同的存储引擎都有各自的特性、优势和使用的场合,正确的选择存储引擎可以提高应用的使用效率。
  下面介绍三种常用的存储引擎,它们对各种特性的支持如下表所示:
  特性
  MyISAM
  InnoDB
  MEMORY
  存储限制
  有
  支持
  有
  事务安全
  不支持
  支持
  不支持
  锁机制
  表锁
  行锁
  表锁
  B树索引
  支持
  支持
  支持
  哈希索引
  不支持
  不支持
  支持
  全文索引
  支持
  不支持
  不支持
  集群索引
  不支持
  支持
  不支持
  数据缓存
  支持
  支持
  索引缓存
  支持
  支持
  支持
  数据可压缩
  支持
  不支持
  不支持
  空间使用
  低
  高
  NA
  内存使用
  低
  高
  中等
  批量插入速度
  高
  低
  高
  支持外键
  不支持
  支持
  不支持
  最后,除非万不得已,否则建议不要混合使用多种存储引擎,否则可能带来一系列复杂的问题,以及一些潜在的bug和边界问题。存储引擎层和服务器层的交互已经比较复杂,更不用说混合多个存储引擎了。至少,混合存储对一致性备份和服务器参数配置都带来了一些困难。
  查看MySQL存储引擎
  可以通过如下命令查看当前MySQL数据库提供的存储引擎:showengines;
  MySQL提供的存储引擎
  查看MySQL当前默认的存储引擎:showvariableslikestorageengine;
  MySQL默认存储引擎(5。7。x)系统文件层
  系统文件层主要包括MySQL中存储数据的底层文件,与上层的存储引擎进行交互,是文件的物理存储层。其存储的文件主要有:日志文件、数据文件、配置文件、MySQL的进程pid文件和socket文件等。结束语
  你知道的越多,不知道的就越多。
  程序员的修养就是对技术发自内心的欣赏和敬畏!倘若文中表述有误,还请谅解,并欢迎与我讨论,自主思考永远比被动接受更有效!

睡前疏通肝经,中医教你养肝护肝黄帝内经《素问灵兰秘典论》篇讲:肝为将军之官,谋略出焉。即古人用将军征战时的深谋远虑来比喻肝的作用,肝为将军之官,主谋虑,其性勇,故喻为将军。肝有防止外侮,考虑抵御对策的……MWC2023丨世界移动通信大会落幕,中兴通讯论坛分享回顾中兴通讯亮相MWC2023近段时间,MWC2023大会于西班牙巴塞罗那召开,GSMA在本次大会上举办了各大主题论坛,中兴通讯积极参与,与全球运营商客户、行业伙伴、意见领袖等围绕……国家统计局2022年四季度全国工业产能利用率为75。7四季度,全国工业产能利用率为75。7,比上年同期下降1。7个百分点,比上季度回升0。1个百分点。2022年全国工业产能利用率为75。6,比上年下降1。9个百分点。分三大门……太马官宣定档5月鸣枪开跑35000人规模创历史最高本届太马参赛规模为35000人。太马组委会供图中新网太原3月15日电(记者胡健)2023太原马拉松赛(以下简称:太马)15日在山西省太原市滨河体育中心召开新闻发布会,20……这和没穿衣服有啥区别?奥斯卡惊现羽毛内衣,模特竟是变性人你敢相信吗?用一根白色的羽毛遮挡住上半身的私密部位,这就是今年奥斯卡派对呼声最高的服装!对于我们国人来说,可能真的有点无法接受如此暴露的穿搭,毕竟骨子里还是很传统的,但老……一批车企开始反价格战了年初,特斯拉降价搅动了新能源的浑水,被逼到墙角的燃油车,也无奈祭出史无前例的绝地反击,B级车卖出A级车的价,A级车卖出了五菱宏光的价。杀红眼的东风系,打响了席卷全国的第二波车市……奥斯卡派对女星造型刘雯蕾丝装,范冰冰表情不屑,海莉有孕相名利场奥斯卡派对造型来袭:有人透视装,有人羽毛遮胸引言。名利场奥斯卡派对奥斯卡派对真够热闹的,国外女明星个个争奇斗艳。有人穿透视装,有人拿羽毛当抹胸,却万万没想到,……不要问中国足球球员年龄!因为没人知道他们到底多少岁著名的足球博主海外君爆料,中国国青队长艾菲尔丁涉嫌改年龄,出生年从2000年改成了2003年,因此参加了U20亚洲杯。根据这位博主提供的证据,官方公示的骨龄检测报告显示,201……非洲这两个国家的首都,总有人用中文对我说你好我旅行去过两个非洲国家的首都,还在另一个非洲国家的首都,工作生活过近一年的时间。去一个地方旅行,同在一个地方旅居,不可同日而语。先说旅居过的,再说旅行掠过的,感知与……西部最新排名白热化雷霆鹈鹕胜湖人负,三队同爵士均为33胜35今日NBA常规赛继续进行,有关西部排名的三场比赛,结果雷霆客胜马刺,鹈鹕大胜开拓者,湖人主场不敌尼克斯,导致三队战绩和爵士均为33胜35负,呈现白热化!最新排名新奥……低利润还能降200?K60E是在谋福利,还是Ace2V给的压短短一个月的时间里,红米K60系列就已经出现了降价两次的情况,其中红米K60E这次更是回归初心,再次来到了大家当年熟悉的1999。原本以为是红米准备发新机,在给K60系列清理库……TomSbastien2023ampampquotUniqu汤姆塞巴斯蒂安(TomSbastien)的2023年秋季系列充满惊喜元素的浪漫细节定义了独一无二。每件礼服都是为喜欢在传统中加入现代元素的新娘而设计的诱人的透明衬垫、时尚的宽大……
牛背雨是什么?牛背雨的形成原因夏雨隔牛背,鸟湿半边翅,这句民谚说的是盛夏降雨有很强的局地性。昨日傍晚,武汉便突现一场短时牛背雨:汉口被倾盆大雨笼罩之时,武昌却阳光灿烂。牛背雨是什么?牛背雨的形成原因是什么呢……红米Note系列史上最经典的六款机型性价比路上的不朽传说1,红米Note22015年八月份推出的这款二代目,不仅升级为1080P屏幕,还首次支持红外遥控功能(往后的该系列标配)。更绝的是,还用上了不久前发布的魅族MX5搭……牛奶过期了可以洗脸吗?洗脸可以用过期的牛奶吗?很多人都喜欢喝牛奶,为了图个方便,都会一次性购买大量的牛奶。然而,牛奶过期了该怎么办呢?过期了的牛奶可以洗脸吗?过期的牛奶能洗脸吗1、过期的牛奶的确能用来洗脸,因为牛奶内……青春痘会长在头皮上吗?青春痘会长在屁股上吗?有的人屁股上和头皮上也会长痘痘,搞不清楚是不是青春痘。下面5号网的小编为你们介绍青春痘会长在头皮上吗?青春痘会长在屁股上吗?青春痘会长在头皮上吗青春痘不会长在头皮上。……青春痘能用红霉素软膏吗?青春痘能用芦荟胶吗?有人说青春痘擦红霉素软膏很有效,那么到底红霉素软膏适不适合青春痘呢,下面5号网的小编为你们介绍青春痘能用红霉素软膏吗?青春痘能用芦荟胶吗?青春痘能用红霉素软膏吗红霉素软膏……奶油成分是什么?奶油是动物的好还是植物的好奶油,是我们经常用到但是又陌生的烘焙食材。陌生就是因为奶油种类多,但是论健康成分哪个好却不知。那么,奶油成分是什么?奶油是动物的好还是植物的好?奶油成分是什么营养素含量(……奶油怎么打发?奶油怎么保存一般家庭自制奶油太费劲,而且耗费时间久,人们常买现有的品牌淡奶油。那么,奶油怎么打发?奶油怎么保存?奶油怎么打发1、提前将淡奶油放入冰箱冷藏12小时以上。还要将打蛋器、盆……为吃瓜而吃瓜,到处是惊天大雷时代张继科拖欠巨额赌债,抵押景甜私密照给债务?打开头条娱乐大瓜砸人眼球随后,又是一份辟谣申明紧追其后。我们处在一个最好的时代,同时也是一个充满诱惑和陷阱的时代,精神面匮……点20盘蚊香开空调睡中毒开空调能点蚊香吗?近日,有一户人家开空调点20盘蚊香睡觉,结果一家五口全部中毒,说起来也是奇葩,是有多可怕的蚊子,需要点20盘蚊香,下面5号网的小编为你们介绍点20盘蚊香开空调睡中毒,开空调能点……什么人不能吃菠萝?菠萝什么时候吃最好?菠萝是热带水果,一般我们喜欢夏天吃,把菠萝用盐水泡了放冰箱里拿出来吃,真是解渴又美味,菠萝虽然好吃,但是有的人不能吃菠萝,到底哪些人不能吃菠萝呢?小编来给你们讲。什么人不能吃菠……碧萝芷功效与作用抗衰老小能手碧萝芷是一款女性都非常喜欢的保健品,功效也是十分的强大,下面5号网的小编为你们介绍碧萝芷功效与作用抗衰老小能手。碧萝芷功效与作用SourceNaturals成立于1982……情人节送女朋友什么包包?情人节送包包攻略情人节送女朋友礼物是最基本的,送什么好呢?女生最喜欢的无非就是包包、口红等东西。那么,情人节送女朋友什么包包?情人节送女朋友什么包包最好?情人节送包攻略JimmyChoo……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网