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

济南网络电视台建站优化公司

济南网络电视台,建站优化公司,大连网站建设佳熙科技公司,鞍山做网站团队目录 存储引擎InnoDB、MyISAM的适用场景 关系型和非关系型数据库的区别 MySQL如何执行一条SQL的 存储引擎InnoDB、MyISAM的适用场景 InnoDB 是 MySQL 默认的事务型存储引擎,只有在需要它不支持的特性时,才考虑使用其它存储引擎。实现了四个标准的隔…

目录

存储引擎InnoDB、MyISAM的适用场景

关系型和非关系型数据库的区别

MySQL如何执行一条SQL的


存储引擎InnoDB、MyISAM的适用场景

InnoDB

  • 是 MySQL 默认的事务型存储引擎,只有在需要它不支持的特性时,才考虑使用其它存储引擎。
  • 实现了四个标准的隔离级别,默认级别是可重复读(REPEATABLE READ)。在可重复读隔离级别下,通过多版本并发控制(MVCC)+ 间隙锁(Next-Key Locking)防止幻影读。
  • 主索引是聚簇索引,在索引中保存了数据,从而避免直接读取磁盘,因此对查询性能有很大的提升。
  • 内部做了很多优化,包括从磁盘读取数据时采用的可预测性读、能够加快读操作并且自动创建的自适应哈希索引、能够加速插入操作的插入缓冲区等。

MyISAM

  • 设计简单,数据以紧密格式存储。对于只读数据,或者表比较小、可以容忍修复操作,则依然可以使用它。
  • 提供了大量的特性,包括压缩表、空间数据索引等。
  • 不支持事务。
  • 不支持行级锁,只能对整张表加锁,读取时会对需要读到的所有表加共享锁,写入时则对表加排它锁。但在表有读取操作的同时,也可以往表中插入新的记录,这被称为并发插入(CONCURRENT INSERT)。

总结

  • 事务: InnoDB 是事务型的,可以使用 Commit 和 Rollback 语句。
  • 并发: MyISAM 只支持表级锁,而 InnoDB 还支持行级锁。
  • 外键: InnoDB 支持外键。
  • 崩溃恢复: MyISAM 崩溃后发生损坏的概率比 InnoDB 高很多,而且恢复的速度也更慢。
  • 其它特性: MyISAM 支持压缩表和空间数据索引。

区别

1)事务:MyISAM不支持,InnoDB支持
2)锁级别: MyISAM 表级锁,InnoDB 行级锁及外键约束
3)MyISAM存储表的总行数;InnoDB不存储总行数;
4)MyISAM采用非聚集索引,B+树叶子存储指向数据文件的指针。InnoDB主键索引采用聚集索引,B+树叶子存储数据

适用场景

MyISAM适合: 插入不频繁,查询非常频繁,如果执行大量的SELECT,MyISAM是更好的选择, 没有事务。
InnoDB适合: 可靠性要求比较高,或者要求事务; 表更新和查询都相当的频繁, 大量的INSERT或UPDATE

关系型和非关系型数据库的区别

关系型数据库的优点

  • 容易理解。因为它采用了关系模型来组织数据。
  • 可以保持数据的一致性。
  • 数据更新的开销比较小。
  • 支持复杂查询(带where子句的查询)

非关系型数据库的优点

  • 不需要经过SQL层的解析,读写效率高。
  • 基于键值对,数据的扩展性很好。
  • 可以支持多种类型数据的存储,如图片,文档等等。

MySQL如何执行一条SQL的

  1. SQL解析:当您提交一条SQL语句给MySQL服务器时,MySQL首先会对该语句进行解析,以理解您的意图并检查语法错误。这一步骤包括语法分析、词法分析和语义分析。
  2. 查询优化:一旦SQL语句被解析,MySQL会对其进行查询优化。这个过程的目标是找到最有效的查询执行计划。MySQL会考虑哪些索引可以使用、连接顺序、过滤条件的顺序等因素来选择执行计划。
  3. 执行查询:一旦优化器选择了最佳执行计划,MySQL将执行实际的查询操作。这包括从磁盘读取数据、应用过滤条件、连接表、排序、分组等操作,以满足查询需求。
  4. 返回结果:执行查询后,MySQL将查询结果返回给客户端应用程序。结果可以是一组行(对于SELECT查询)或操作的确认(对于INSERT、UPDATE、DELETE等修改操作)。
  5. 事务处理:如果SQL语句在事务内执行,MySQL还会处理事务管理,包括事务的开始、提交和回滚,以确保数据的一致性和完整性。
  6. 释放资源:MySQL会释放与查询相关的资源,包括临时表、锁定和缓存。

在这个过程中,MySQL数据库引擎会负责将SQL语句翻译成物理操作,与存储引擎进行交互,并执行相关的I/O操作以读取和写入数据。

需要注意的是,MySQL执行查询的效率不仅受查询本身的复杂性和优化程度影响,还受到数据库服务器的硬件性能、表的设计、索引的使用、数据量等因素的影响。因此,SQL查询性能优化是数据库管理和应用程序开发中的重要任务之一,可以通过合理的索引设计、查询改写、缓存策略等手段来提高数据库性能。

http://www.yidumall.com/news/32937.html

相关文章:

  • 上海好的高端网站建设免费建一级域名网站
  • 外贸网站如何选择域名com域名注册
  • 网站的结构设计seo关键词选取工具
  • 网站文章收录慢杭州seo网站推广
  • 网站建设技术分为哪些方向济南seo关键词优化方案
  • wordpress4.0.1百度快速seo
  • seo网站优化优化排名外贸建站公司
  • 网站开发 参考文献如何自建网站?
  • 做优化网站是什么意思sem搜索
  • h5软件百度搜索引擎优化指南最新版
  • 营销型网站价格网站seo快速优化
  • 成都网站建设价格网盘搜索
  • 网站主机空间价格怎么样优化关键词排名
  • 宁波做网站费用营销策略模板
  • 网站被k还能不能在百度做推广下载百度官方网站
  • 首饰行业网站建设策划温州网站优化推广方案
  • 奥门网站建设网站建设情况
  • 网站备案号如何查找买友情链接
  • 宝鸡企业网站建设巨量引擎广告投放
  • 网站建设系统多少钱关键词如何排名在首页
  • 平顶山哪里有做网站的公司营销型网站设计制作
  • wordpress是免费的网站优化内容
  • 做视频网站违法么百度首页清爽版
  • 中国建设银行网站 党费网盟推广平台
  • wordpress怎么建appseo引擎
  • 网站设计网络推广网上生意网络推广项目
  • 黄浦网站推广公司怎么自己制作一个网站
  • seo网站页面优化包含2022年每日新闻摘抄10一30字
  • 做网站公司宁波上市软件推广的渠道是哪里找的
  • 网站后台要怎么做如何做好网站站内优化