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

专业网站制作软件网页制作软件ai

专业网站制作软件,网页制作软件ai,长沙优化科技有限公司地址,电子商务网站如何设计MySQL进阶 —— 超详细操作演示#xff01;#xff01;#xff01;#xff08;上#xff09; 一、存储引擎1.1 MySQL 体系结构1.2 存储引擎介绍1.3 存储引擎特点1.4 存储引擎选择 二、索引2.1 索引概述2.2 索引结构2.3 索引分类2.4 索引语法2.5 SQL 性能分析2.6 索引使用2… MySQL进阶 —— 超详细操作演示上 一、存储引擎1.1 MySQL 体系结构1.2 存储引擎介绍1.3 存储引擎特点1.4 存储引擎选择 二、索引2.1 索引概述2.2 索引结构2.3 索引分类2.4 索引语法2.5 SQL 性能分析2.6 索引使用2.7 索引设计原则 三、SQL 优化四、视图/存储过程/触发器五、锁六、InnoDB 引擎七、MySQL 管理 一、存储引擎 1.1 MySQL 体系结构 1). 连接层 最上层是一些 客户端 和 链接服务包含本地 sock 通信和大多数基于 客户端/服务端 工具实现的类似于 TCP/IP 的通信。主要完成一些类似于 连接处理、授权认证、及相关的安全方案。在该层上引入了 线程池 的概念为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL 的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。 2). 服务层 第二层架构主要完成大多数的 核心服务功能如 SQL接口并完成缓存的查询SQL的分析和优化部分内置函数的执行。所有跨存储引擎的功能也在这一层实现如 过程、函数等。在该层服务器会解析查询并创建相应的内部 解析树并对其完成相应的优化如确定表的查询的顺序是否利用索引等最后生成相应的执行操作。如果是 select 语句服务器还会查询内部的缓存如果缓存空间足够大这样在解决大量读操作的环境中能够很好的提升系统的性能。 3). 引擎层 存储引擎层 存储引擎 真正的负责了MySQL中数据的存储和提取服务器通过 API 和 存储引擎进行通信。不同的存储引擎具有不同的功能这样我们可以根据自己的需要来选取合适的存储引擎。数据库中的 索引 是在存储引擎层实现的。 4). 存储层 数据存储层 主要是将数据(如: redolog、undolog、数据、索引、二进制日志、错误日志、查询日志、慢查询日志等)存储在文件系统之上并完成与存储引擎的交互。 和其他数据库相比MySQL有点与众不同它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎上插件式的存储引擎架构将查询处理和其他的系统任务以及数据的存储提取分离。 这种架构可以根据业务的需求和实际需要选择合适的存储引擎。 1.2 存储引擎介绍 大家可能没有听说过存储引擎但是一定听过引擎这个词引擎就是发动机是一个机器的核心组件。 比如对于舰载机、直升机、火箭来说他们都有各自的引擎是他们最为核心的组件。而我们在选择引擎的时候需要在合适的场景选择合适的存储引擎就像在直升机上我们不能选择舰载机的引擎一样。 而对于存储引擎也是一样他是mysql数据库的核心我们也需要在合适的场景选择合适的存储引擎。接下来就来介绍一下存储引擎。 存储引擎就是 存储数据、建立索引、更新/查询数据等技术的实现方式 。存储引擎是 基于表的而不是基于库的所以存储引擎也可被称为 表类型。我们可以在创建表的时候来指定选择的存储引擎如果没有指定将自动选择默认的存储引擎。(一个数据库有多个表可以有多个存储引擎。) 1). 建表时指定存储引擎 create table 表名(字段1 字段1类型 [ comment 字段1注释 ] ,......字段n 字段n类型 [ comment 字段n注释 ] ) engine InnoDB [ comment 表注释 ] ;2). 查询当前数据库支持的存储引擎 show engines; 示例演示: A. 查询建表语句 — 默认存储引擎: InnoDB show create table account;我们可以看到创建表时即使我们没有指定存储引擎数据库也会自动选择默认的存储引擎。 B. 查询当前数据库支持的存储引擎 show engines ;C. 创建表 my_myisam , 并指定 MyISAM 存储引擎 create table my_myisam(id int,name varchar(10) ) engine MyISAM ;D. 创建表 my_memory , 指定 Memory 存储引擎 create table my_memory(id int,name varchar(10) ) engine Memory ;1.3 存储引擎特点 下面介绍较为重要的三种存储引擎 InnoDB、MyISAM、Memory 的特点。 ⭐️ 1.3.1、InnoDB 1). 介绍 InnoDB是一种兼顾 高可靠性 和 高性能 的通用存储引擎在 MySQL 5.5 之后InnoDB是默认的 MySQL 存储引擎。 2). 特点 DML操作遵循 ACID 模型支持事务行级锁提高并发访问性能支持 外键 FOREIGN KEY 约束保证数据的 完整性 和 正确性 3). 文件 xxx.ibdxxx代表的是表名innoDB引擎的每张表都会对应这样一个表空间文件存储该表的表结构 frm-早期的 、sdi-新版的、数据 和 索引。参数innodb_file_per_table # 模糊匹配 show variables like innodb_file_per_table;如果该参数开启代表对于 InnoDB 引擎的表每一张表都对应一个 ibd 文件。 我们直接打开MySQL的数据存放目录 C:\ProgramData\MySQL\MySQL Server 8.0\Data ( ProgramData 是隐藏文件夹设置查看隐藏文件) 这个目录下有很多文件夹不同的文件夹代表不同的数据库我们直接打开 rmzh 文件夹。 可以看到里面有很多的 ibd 文件每一个 ibd 文件就对应一张表比如 我们有一张表 account就有这样的一个 account.ibd 文件而在这个 ibd 文件中不仅存放 表结构、数据还会存放该表对应的索引信息。而该文件是基于二进制存储的不能直接基于记事本打开我们可以在 cmd 命令行使用 mysql 提供的一个指令 ibd2sdi 通过该指令就可以从 ibd 文件中提取 sdi 信息而 sdi 数据字典信息中就包含该表的表结构。 4). 逻辑存储结构 表空间 : InnoDB 存储引擎逻辑结构的最高层ibd 文件其实就是表空间文件在表空间中可以包含多个Segment 段。段 : 表空间是由各个段组成的 常见的段有 数据段、索引段、回滚段 等。InnoDB中对于段的管理都是引擎自身完成不需要人为对其控制一个段中包含多个区。区 : 区是表空间的单元结构每个区的大小为 1M。 默认情况下 InnoDB 存储引擎页大小为 16K 即一个区中一共有 64 个连续的页。页 : 页是组成区的最小单元页也是 InnoDB 存储引擎磁盘管理的最小单元每个页的大小默认为16KB。为了保证页的连续性InnoDB 存储引擎每次从磁盘申请 4-5 个区。行 : InnoDB 存储引擎是 面向行 的也就是说数据是按行进行存放的在每一行中除了定义表时所指定的字段以外还包含两个隐藏字段(后面会详细介绍)。 ⭐️ 1.3.2、MyISAM 1). 介绍 MyISAM 是MySQL早期的默认存储引擎。 2). 特点 不支持 事务不支持 外键支持表锁不支持 行锁访问速度快 3). 文件 xxx.sdi存储 表结构 信息 ( json 格式的)xxx.MYD: 存储 数据xxx.MYI: 存储 索引 可以用记事本打开 xxx.sdi 文件可以格式化查看 ⭐️ 1.3.3、Memory 1). 介绍 Memory 引擎的表数据时存储在 内存 中的由于受到硬件问题、或断电问题的影响只能将这些表作为 临时表 或 缓存 使用。 2). 特点 内存存放 (访问速度是非常快的)hash索引默认 3).文件 xxx.sdi存储 表结构 信息 ⭐️ 1.3.4、区别及特点 面试题: InnoDB引擎与MyISAM引擎的区别 ? ①. InnoDB引擎, 支持事务, 而MyISAM不支持。②. InnoDB引擎, 支持行锁和表锁, 而MyISAM仅支持表锁, 不支持行锁。③. InnoDB引擎, 支持外键, 而MyISAM是不支持的。 主要是上述三点区别当然也可以从索引结构、存储限制等方面更加深入的回答具体参考如下官方文档 https://dev.mysql.com/doc/refman/8.0/en/innodb-introduction.htmlhttps://dev.mysql.com/doc/refman/8.0/en/myisam-storage-engine.html 1.4 存储引擎选择 在选择存储引擎时应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统还可以根据实际情况选择多种存储引擎进行组合。 InnoDB: 是Mysql的默认存储引擎支持事务、外键。如果应用对事务的完整性有比较高的要求在并发条件下要求数据的一致性数据操作除了插入和查询之外还包含很多的更新、删除操作那么 InnoDB 存储引擎是比较合适的选择。(大部分使用该存储引擎)MyISAM 如果应用是以读操作和插入操作为主只有很少的更新和删除操作并且对事务的完 整性、并发性要求不是很高那么选择这个存储引擎是非常合适的。(被 MongoDB取代了)MEMORY将所有数据保存在内存中访问速度快通常用于临时表及缓存。MEMORY 的缺陷就是 对表的大小有限制太大的表无法缓存在内存中而且无法保障数据的安全性。(被 redis 取代了) 存储引擎 快速食用---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- # 1. 体系结构 连接层、服务层、引擎层、存储层# 2、存储引擎简介 show engines ; # 查询当前数据库支持的存储引擎 create table XXXX (……) engine InnoDB ;# 3、存储引擎特点 InnoDB 与 MyISAM 区别: 事务、外键、行级锁# 存储引擎应用场景 InnoDB: 存储业务系统中对事务、数据完整性要求较高的核心数据。 MyISAM: 存储业务系统的非核心事务。二、索引 以下使用 Linux 版本的 MySQL因为在日常的生产、测试、开发开发环境绝大部分用的都是Linux系统。 安装过程可以参考我另一篇博客Linux系统——MySQL安装与卸载 2.1 索引概述 ⭐️ 介绍 索引 index 是帮助MySQL 高效获取数据 的 数据结构(有序)。 在数据之外数据库系统还维护着满足 特定查找算法 的数据结构这些数据结构以某种方式引用指向数据 这样就可以在这些数据结构上实现高级查找算法这种数据结构就是索引。 举个栗子 表结构及其数据如下 假如我们要执行的SQL语句为 select * from user where age 45; 1). 无索引情况 在无索引情况下就需要从第一行开始扫描一直扫描到最后一行我们称之为 全表扫描性能很 低。 2). 有索引情况 如果我们针对于这张表建立了索引假设索引结构就是二叉树那么也就意味着会对age这个字段建 立一个二叉树的索引结构。 此时我们在进行查询时只需要扫描三次就可以找到数据了极大的提高的查询的效率。 备注 这里我们只是假设索引的结构是二叉树介绍一下索引的大概原理只是一个示意图并不是索引的真实结构索引的真实结构后面会详细介绍。 2.2 索引结构 2.3 索引分类 2.4 索引语法 2.5 SQL 性能分析 2.6 索引使用 2.7 索引设计原则 三、SQL 优化 四、视图/存储过程/触发器 五、锁 六、InnoDB 引擎 七、MySQL 管理
http://www.hkea.cn/news/14502316/

相关文章:

  • 庆阳网站设计服务免费网站教程
  • 自媒体135网站大渡口的网站开发公司
  • 帮开设赌场的网站做美工株洲网站设计公司
  • 国外网站seo四平网站建设哪家效果好
  • 珠宝网站源码网站域名注册后怎么建设
  • 做购物网站需要什么wordpress自己写代码
  • app网站开发重庆杨庄网站建设
  • 网站建设模板的wordpress社区主题
  • 兰州网站建设怎么选小网站文案
  • 深圳福田网站制作了解网站开发 后台流程
  • 学做网站的步骤上海电子商城网站制作
  • 宝山专业做网站英语网站排名
  • 微信公众号可以做网站嘛音乐app详情页设计
  • 江苏建设通网站大型广告公司有哪些
  • 中企动力网站建设方案温州文成县高端网站设计
  • wordpress 没有分类目录大地seo视频
  • 临沂网站定制洛阳做网站优化
  • 北京的电商平台网站有哪些株洲今天最新通知
  • 网站建设视频教程phpmi2设计公司网站
  • 网站建设服务市场aspx网站实例
  • 网站做好后北京网站平台建设
  • 福建微网站建设域名大全
  • 做淘宝网站的主机湖北网络建设公司网站
  • 前端如何兼职做网站潍坊专业做薪酬绩效
  • 做推广便宜的网站龙川县建设网站
  • 网站建设公司织梦模板百度制作网站
  • 怎么做倒计时网站网站排名查询alexa
  • 国内企业邮箱哪家好长沙百度搜索排名优化
  • 建网站免费程序wordpress 自带分页
  • 陶瓷类网站建设网站慢用台服务器做跳板