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

企业网站运营推广难做吗西安北郊做网站的公司

企业网站运营推广难做吗,西安北郊做网站的公司,河南最新任命12个厅级,网络推广的具体方式MySQL架构与历史 文章目录 MySQL架构与历史一、MySQL逻辑架构二、并发控制三、事务四、多版本并发控制(MVCC) 一、MySQL逻辑架构 第一层#xff1a;连接处理、授权认证、安全等等 第二层#xff1a;查询解析、分析、优化、缓存以及所有的内置函数。包含跨存储引擎的功能…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://www.pierceye.com/news/828731/

相关文章:

  • 苏州市吴江区住房和城乡建设局网站网站建设需要具备什么条件
  • 用记事本做网站怎么添加表格媒体库wordpress
  • 河北智能网站建设网站建设 书
  • 个人网站模板怎么做网站开发接私活的经理
  • 律师事务所手机网站网站开发过程模型
  • 建筑培训网站系统开发包括什么
  • 出售家教网站模板广告设计公司管理
  • 松原网站推广wordpress主题更新了
  • wordpress 手机端模板百度seo标题优化软件
  • 货架网站开发特卖网站设计
  • 网站首页设计图片简约简单的明星个人网站建设论文
  • 织梦程序来搭建网站vip视频解析网站建设
  • 网站的管理上海创新网站建设
  • 企业对比网站西安做网站公司怎么样
  • 网站开发好做还是平面好做商务网页设计与制作是什么
  • 个人业务网站带后台凡科网站建设分类模块怎么弄
  • 在百度做网站需要什么资料appstore正版下载
  • wordpress怎么做404页面合肥seo软件
  • 建设网站挂广告赚钱免费个人网站源码
  • 网站ico图标动漫设计学什么内容
  • fireworks做网站定制做网站费用
  • 建设门户网站所需优秀营销网站设计
  • 行业网站建设教程办一家建筑公司流程
  • 网站空间文件夹中企动力主要是做什么的
  • 亚马逊做qa的网站wordpress theme是什么
  • 网站开发的经费预算php网站超市源码下载
  • 深圳建设高端网站asp.net 获取网站的绝对路径
  • 做的网站没流量吗前端页面设计
  • 门户网站的优点在环评备案网站上做登记后会怎么样
  • 网站的内容规划怎么写网站做外链的具体步骤