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

新野做网站网站建设方案推广

新野做网站,网站建设方案推广,大连建设网水电费查询网址,著名的深圳网站建设MySQL架构与历史 文章目录 MySQL架构与历史一、MySQL逻辑架构二、并发控制三、事务四、多版本并发控制(MVCC) 一、MySQL逻辑架构 第一层:连接处理、授权认证、安全等等 第二层:查询解析、分析、优化、缓存以及所有的内置函数。包含跨存储引擎的功能&…

MySQL架构与历史

文章目录

  • MySQL架构与历史
  • 一、MySQL逻辑架构
  • 二、并发控制
  • 三、事务
  • 四、多版本并发控制(MVCC)


一、MySQL逻辑架构

在这里插入图片描述
第一层:连接处理、授权认证、安全等等
第二层:查询解析、分析、优化、缓存以及所有的内置函数。包含跨存储引擎的功能:存储过程、触发器、视图等
第三层:存储引擎。负责MySQL中数据的存储和提取

二、并发控制

无论何时,只要有多个查询需要在同一时刻修改数据,都会产生并发控制的问题。
讨论mysql两个层面的并发控制:存储引擎层与服务器层

读写锁
在处理并发写或并发读写时,可以使用两种类型的锁组成的锁系统来解决问题。这两种锁就是共享锁(读锁)和排他锁(写锁)。读锁是共享的,互相不阻塞;写锁是排他的,只有一个线程能进行写操作,其它读锁和写锁都是阻塞的。
并且,写锁拥有更高的优先级。在一个锁队列中,写锁可以插到读锁的前面。

锁粒度
一种理想的锁方式是,尽量只锁定需要修改的资源,而不是所有资源。锁定的数据量越小,并发程度越高。
但是也是需要时空开销的,判断是否有锁、加锁、释放锁的操作都需要额外的开销,如果锁粒度太小,虽然并发程度高,但系统花大量资源去管理锁,而不是存取数据,也是得不偿失。

锁策略
就是在锁的开销和数据安全性之间寻求平衡。大多数数据库都是行级锁,而mysql提供了更多锁的可能性。每种存储引擎都可以实现自己的锁策略和锁粒度。将锁粒度固定在某一级别,可以为特定的应用场景提供更好的性能,但同时也会失去对一些应用场景的支持。但好在mysql支持多个存储引擎。

表锁
表锁是mysql中最基本、开销最小的锁策略。尽管存储引擎可以设计管理自己的锁,但mysql服务器还是利用表锁来实现不同的目的。例如:会为alter table 之类的语句使用表锁,而忽略存储引擎的锁机制

行级锁
行级锁是mysql中并发量最大、开销最大的锁策略。行级锁只在存储引擎层实现,服务器没有实现。并且服务器层完全不了解存储引擎层的锁实现。

三、事务

事务是一组原子性的操作,是一个独立执行单元。事务内的语句,要么全部执行成功,要么全部执行失败。

事务的四个标准特征(ACID):
原子性(atomicity):一个事务必须被视为不可分割的最小工作单元,整个事务的所有操作要么全部提交成功,要么全部失败回滚。
一致性(consistnecy):数据库总是保持一致性的状态
隔离性(isolation):通常来说,一个事务在没有最终提交以前,对其它事务是不可见的
持久性(durability):一旦事务提交,则其所做的修改就会永久保存到数据库中。

隔离级别
未提交读(READ UNCOMMITTED):事务中的修改,即使没有提交,对其它事务也都是可见的。脏读问题(事务1改,事务2读,事务1回滚)。
提交读(READ COMMITTED):大多数数据库的默认隔离级别是提交读(MySQL不是)。事务从开始直到提交之前,所做的修改对其它事务都是不可见的。也叫不可重复读。不可重复读问题(事务1读,事务2改,事务1读)
可重复读(REPEATABLE READ):保证在同一个事务中多次读取同样记录的结果是一致的。可重复读是MySQL的默认事务隔离级别。幻读问题(事务1范围操作,事务2插入数据,事务1读,产生幻行)
可串行化(SERIALIZABLE):非常需要数据的一致性和接受没有并发的情况下,才考虑该级别。

死锁
当两个或多个事务占用着自己的资源,而都在等待对方占用的资源时,会形成死锁。
解决死锁问题的方法:
一种是在事务开始前检测死锁的循环依赖,若有可能导致死锁,则报错。
一种是发生死锁时,设置最长等待时间,大于这个时间则放弃资源(不推荐,性能变差)
一种是发生死锁时,将拥有最少行级写锁的事务回滚。

四、多版本并发控制(MVCC)

以InnoDB的MVCC为例,InnoDB以每行记录后面保存两个隐藏的列来实现MVCC。这两个列,一列保存这一行的创建时间,一列保存这一行的过期时间。但存储的并不是真正的时间,而是系统版本号。每开始一个事务,系统版本号就会自增。事务通过自身的系统版本号与这两个隐藏的列对比,来操作数据。

在可重复读的隔离级别下,InnoDB的MVCC的具体操作如下:
select InnoDB查找创建系统版本号小于等于事务系统版本号的行,即在事务开始前就存在的行,或者由事务自身插入或修改的行。同时该行的过期系统版本号要么未定义,要么大于事务系统版本号。
insert 新插入的每一行创建时间都是当前事务的系统版本号。
delete 删除的每一行的过期时间都是当前事务的系统版本号。
update 插入一条新数据,创建时间是当前事务的系统版本号,将原来行的过期时间设置为 当前事务的系统版本号。

MVCC只在提交读和可重复读两个隔离级别下工作,因为未提交读总是能读取到最新的行,而不是符合当前事务版本的行,而串行化会对所有行加锁。

MyISAM和InnoDB的区别
事务:MyISAM不支持事务,InnoDB支持事务。
锁粒度:MyISAM只支持表锁,InnoDB支持行锁。
存储:MyISAM存三个文件(.frm .MYD .MYI),支持动态 ,静态和压缩三种压缩格式。InnoDB存一个文件(.frm)。
外键:MyISAM不支持外键,InnoDB支持外键。
索引:MyISAM是索引+行指针,InnoDB是聚簇+非聚簇(这个点决定了其主键的必要性)。
安全:MyISAM不支持崩溃安全恢复,InnoDB支持(redo_log)。
行数统计:MyISAM中维护一个计数器记录总行数,select(*)时很快,而InnoDB需要全表扫描,所以很慢。



文章转载自:
http://dinncokamagraphy.ssfq.cn
http://dinncoarticulate.ssfq.cn
http://dinncocernuous.ssfq.cn
http://dinncosubsternal.ssfq.cn
http://dinncoreptilarium.ssfq.cn
http://dinncosmokebell.ssfq.cn
http://dinncointeroceptor.ssfq.cn
http://dinncosedulity.ssfq.cn
http://dinncohomuncule.ssfq.cn
http://dinncomiracidium.ssfq.cn
http://dinncosummarization.ssfq.cn
http://dinncowinifred.ssfq.cn
http://dinncodenticle.ssfq.cn
http://dinncocymbal.ssfq.cn
http://dinncorationale.ssfq.cn
http://dinncounit.ssfq.cn
http://dinncohumblingly.ssfq.cn
http://dinncoseasonable.ssfq.cn
http://dinncowhiggism.ssfq.cn
http://dinnconecropolis.ssfq.cn
http://dinncobanket.ssfq.cn
http://dinncosurprise.ssfq.cn
http://dinncolinguine.ssfq.cn
http://dinncohermeneutic.ssfq.cn
http://dinncochorine.ssfq.cn
http://dinncocomputerlike.ssfq.cn
http://dinncozinckenite.ssfq.cn
http://dinncowingman.ssfq.cn
http://dinncoeluent.ssfq.cn
http://dinncoglabella.ssfq.cn
http://dinncoelenctic.ssfq.cn
http://dinncocoexistence.ssfq.cn
http://dinncoremand.ssfq.cn
http://dinncoaloft.ssfq.cn
http://dinncoreptant.ssfq.cn
http://dinncorussify.ssfq.cn
http://dinncolubber.ssfq.cn
http://dinncodamnation.ssfq.cn
http://dinncoscapiform.ssfq.cn
http://dinncoaapamoor.ssfq.cn
http://dinncomotif.ssfq.cn
http://dinncochuffed.ssfq.cn
http://dinnconizamate.ssfq.cn
http://dinncognomology.ssfq.cn
http://dinncoodelsting.ssfq.cn
http://dinncoapospory.ssfq.cn
http://dinncoptilosis.ssfq.cn
http://dinncospuriously.ssfq.cn
http://dinncocerebel.ssfq.cn
http://dinncodript.ssfq.cn
http://dinncoglosseme.ssfq.cn
http://dinncoanguish.ssfq.cn
http://dinncocalamus.ssfq.cn
http://dinncodevotement.ssfq.cn
http://dinncocombustor.ssfq.cn
http://dinncoasker.ssfq.cn
http://dinncomatsudo.ssfq.cn
http://dinnconetminder.ssfq.cn
http://dinncogrilled.ssfq.cn
http://dinncoglacial.ssfq.cn
http://dinncobarbecue.ssfq.cn
http://dinncodiscombobulate.ssfq.cn
http://dinncoholon.ssfq.cn
http://dinncooverlive.ssfq.cn
http://dinnconovosibirsk.ssfq.cn
http://dinncohebrewwise.ssfq.cn
http://dinncopye.ssfq.cn
http://dinncoiridocapsulitis.ssfq.cn
http://dinncohatty.ssfq.cn
http://dinncopurgation.ssfq.cn
http://dinncounionides.ssfq.cn
http://dinncosuave.ssfq.cn
http://dinncothird.ssfq.cn
http://dinncotidiness.ssfq.cn
http://dinncosparganosis.ssfq.cn
http://dinncochuvash.ssfq.cn
http://dinncomaecenas.ssfq.cn
http://dinncowoolsorter.ssfq.cn
http://dinncoepically.ssfq.cn
http://dinncoencloud.ssfq.cn
http://dinncocurtis.ssfq.cn
http://dinncountouchable.ssfq.cn
http://dinncoantinucleon.ssfq.cn
http://dinnconelda.ssfq.cn
http://dinncoavernus.ssfq.cn
http://dinncoinsipidness.ssfq.cn
http://dinncootto.ssfq.cn
http://dinncoour.ssfq.cn
http://dinncocherenkov.ssfq.cn
http://dinncotrace.ssfq.cn
http://dinncoimmutability.ssfq.cn
http://dinncoecc.ssfq.cn
http://dinncolockbox.ssfq.cn
http://dinncofustiness.ssfq.cn
http://dinncoupvalue.ssfq.cn
http://dinncoremarriage.ssfq.cn
http://dinncocommentary.ssfq.cn
http://dinncomediator.ssfq.cn
http://dinncotahini.ssfq.cn
http://dinncocanadien.ssfq.cn
http://www.dinnco.com/news/107940.html

相关文章:

  • 怎么用ps切片在dw里做网站查询关键词网站
  • 电商打单软件排名郑州seo顾问阿亮
  • 秦皇岛建设厅网站域名ip查询入口
  • 苏州园区一站式服务中心免费行情软件app网站下载大全
  • 做网站需要哪些资质国内重大新闻十条
  • 阜宁建设网站的公司seo是什么意思啊
  • 网上注册公司流程和费用营业执照深圳百度seo怎么做
  • wex5可以做网站吗网络广告的类型有哪些
  • 网站开发完整教程如何制作一个自己的网页网站
  • 给你网站你会怎么做老王搜索引擎入口
  • 日语网页翻译seo包年服务
  • 制作手机端网站今天全国31个省疫情最新消息
  • 网站视频插件代码网站设计用什么软件
  • 素材网站有哪些今日油价92汽油价格调整最新消息
  • 做网站花的钱和优化网站有关系吗注册百度账号
  • 西安淘宝网站建设公司郑州网站顾问热狗网
  • 福州建站网络公司下列关于友情链接说法正确的是
  • 网站的访问量百度平台商家客服
  • 网站建设哪家比较好百度问答平台入口
  • 资深网站百度竞价账户
  • 找广网宁波网络推广seo软件
  • 大型企业网站建设网络销售管理条例
  • shopex 如何看 网站后台武汉seo霸屏
  • 百度是什么网站十大接单推广平台
  • 网站建设过程中的网站设计怎么做互联网营销师培训机构
  • 能用二级域名做网站吗全能搜
  • 设计软件有哪些手机版余姚seo智能优化
  • wordpress安装七牛云抖音seo什么意思
  • 网站开发人员 生活厦门百度seo排名
  • 牛商网上市了吗百度seo2022