当前位置: 首页 > news >正文

网站增加用户体验企业网站建设公司怎么收费

网站增加用户体验,企业网站建设公司怎么收费,怎么推广平台,发稿渠道文章目录1 一条SQL查询语句是如何执行的2 mysql体系结构3 InnoDB存储引擎4 总结1 一条SQL查询语句是如何执行的 ​ 通常我们使用数据库#xff0c;都是将数据库看成一个整体#xff0c;我们的应用与数据库完全就是通过SQL语句进行交互。大多数开发者很少去了解数据库的内部实… 文章目录1 一条SQL查询语句是如何执行的2 mysql体系结构3 InnoDB存储引擎4 总结1 一条SQL查询语句是如何执行的 ​ 通常我们使用数据库都是将数据库看成一个整体我们的应用与数据库完全就是通过SQL语句进行交互。大多数开发者很少去了解数据库的内部实现原理这样也可以完成我们的应用。但是如果遇到一些疑难问题如查询变慢、死锁、数据库宕机需要恢复数据时我们就需要对数据库的实现原理有一定的了解才能解决这些问题。了解一个东西先鸟瞰其全貌再一步步深入到内部。 ​ 想要了解mysql的基础架构从最简单的SQL查询语句来分析当了解了mysql是如何执行一条SQL查询语句后就基本了解了mysql的基础体系结构。 ​ 下面是一条最简单的SQL查询语句 select * from T where id 2;​ 对于应用开发者来说看到的就是输入一条语句返回一个结果。下面是mysql的基本架构简单示意图这条语句会经过这些过程。 ​ 大体来说mysql可以分为server层和存储引擎层。 server层包括 连接器连接器负责跟客户端建立连接、获取权限、维持和管理连接等。 查询缓存建立连接后就应该进行数据的查询。在真正进行数据查询之前mysql会先到缓存查看之前是否执行过这条语句如果执行过会在缓存中缓存这条查询对应的返回数据此时可以直接从缓存中获取。如果不在缓存中则继续后面的流程。 2.1 大多数情况下不建议使用查询缓存的功能因为查询缓存弊大于利。查询缓存失效非常频繁只要有对表的更新操作这个表上所有的查询缓存就会被清空因此很有肯能你很费劲地把结果存起来还没使用就被一个更新操作清空了。对于更新压力大的数据库来说查询缓存的命中率非常低。mysql8.0以后直接将查询缓存的功能删掉了。 分析器如果没有命中缓存就开始这正的执行查询了。mysql首先会需要对你提交的SQL语句进行校验与分析看是否是正确的SQL语句。分析器主要包括词法分析、语法分析后面的文章会对其进行详细的分析。 优化器当SQL语句校验成功没有语法错误会进行优化器优化优化器主要是在表里有多个索引的时候决定使用哪个索引或者在一个语句有多表关联jion的时候决定各个表的连接顺序。 执行器mysql通过分析器知道了要做什么通过优化器知道了要怎么做。于是就进入了执行阶段开始执行语句。 执行的开始会先判断你对这个表是否有权限。如果有权限则打开表继续执行执行器会根据表的存储引擎的定义来调用不同存储引擎的api接口查询具体的数据。 ​ 上面就是一条SQL查询语句的简单执行过程只是加单的描述了大概的流程当然里面的细节非常负责这在后面的文章中会进行一一拆解。 2 mysql体系结构 ​ 在了解了上面的一条SQL查询语句的执行流程后我们再来看下mysql完整的体系结构是什么样。 ​ 从以上mysql的体系结构中可以看出主要有以下几个部分组成。 连接池组件管理服务和工具组件SQL接口组件查询分析器组件优化器组件缓冲组件插件式存储引擎物理文件 ​ mysql数据库区别于其他数据库的最重要的一个特点就是其插件式的表存储引擎。mysq插件式的存储引擎架构提供了一系列标准的管理和服务支持这些标准与存储引擎本身无关可能是每个数据库系统本身都需要的如SQL分析器和优化器。存储引擎是底层物理结构的实现每个存储引擎开发者可以按照自己的意愿来进行开发。 ​ 需要特别注意的是存储引擎是基于表的而非数据库的。我们最好牢记上面的mysql体系结构对我们后面深入理解mysql数据库有很大的帮助。 3 InnoDB存储引擎 ​ 我们已经大致了解了mysql数据库独有的插件式体系结构病了解到存储引擎是mysql数据库区别于其他数据库的一个最重要的特性。存储引擎的好处是每个存储引擎都有各自的特点能够根据具体的应用建立不同的存储引擎表。我们业务应用开发平时所说的事务、锁、B树索引等也都是在存储引擎层实现的。其中InnoDB存储引擎是目前最常用的一种存储引擎所以我们总是围绕着InnoDB的原理进行讲解。 ​ ​ InnoDB存储引擎支持事务其设计的主要目标是面向在线事务处理的应用OLTP其特点是行锁设计、支持外键、并通过使用多版本并发控制支持一致性非锁定读。并且实现了SQL的四种隔离级别。默认为RRREPEATABLE READ隔离级别同时使用next-key locking 的策略来避免幻读phantom现象的产生。除此之外InnoDB存储引擎还提供了插入缓冲insert buffer、二次写double write、自适应哈希索引、预读read ahead等高性能和高可用的功能。 ​ 对于标准红数据的存储InnoDB采用聚集clustered的方式因此每张表的存储都是按照主键的顺序进行存放。 4 总结 ​ 本文是接下来对mysql数据库拆解并深入分析的基础我们主要掌握mysql体系结构的图把上面的图背下来也行对后面理解索引、锁、以及mysql优化都有莫大的好处。
http://www.zqtcl.cn/news/431005/

相关文章:

  • 携程网站建设的基本特点哈尔滨做平台网站平台公司
  • 网站建设入门解读国模 wordpress
  • 网站购物车js代码怎么做制作app的软件有哪些
  • 36氪网站用什么程序做的互联网门户网站建设
  • 视频聚合网站怎么做不侵权wordpress 管理员插件
  • 传媒网站后台免费模板网站建设的进度计划
  • 如何做网站排名合肥全网优化
  • 网站建设招聘信息官网 wordpress
  • 城阳网站开发公司网页制作与设计在哪搜题
  • 做网站算运营吗grace wordpress
  • 厦门建设网站建站制作网页动画的软件
  • 百度提交网站收录入口郑州网站app开发
  • 自己的身份已经网站备案了品牌建设目标包括哪些方面
  • 中国免费网站服务器下载保定网站制作系统
  • 深圳app网站设计数据库网站建设公司
  • 手机网站程序下载做地方黄页网站
  • 网站开发时如何设计英文版本专业vi机构
  • 黄骅市人事考试网电商网站怎样优化
  • 可信网站认证必须做吧陕西做网站的
  • 网站怎么静态化wordpress视频安装教程
  • 合浦县建设局网站网站备案号如何查询
  • 网站跳转代码 html亚马逊使用wordpress做的
  • 做哪一类的网站可以短时间变现东莞大朗网站设计
  • 框架网站模板建设淘宝客网站.lc和ev
  • 驻马店做网站推广涞源县住房和城乡建设局网站
  • 国外seo大神如何做网站 seo
  • 网站建设外文版要求昆山网站建设怎么样
  • 合肥知名网站制作网站建设宣传的目的
  • 曲阜做网站哪家好asp.net网站打不开html页面
  • 品牌网站开发普通人做电商赚钱吗