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

建设书局 网站广州软件定制公司

建设书局 网站,广州软件定制公司,网站字体字号,做网站软件大全目录 一、索引 二、MySQL 与磁盘交互基本单位 三、索引的理解 一、索引 为什么要有索引#xff1f; 首先我们插入一个8000000条记录的数据#xff0c;再来查询数据#xff0c;看看没有索引的情况下#xff0c;会耗费多长时间。 当执行完这几条命令时#xff0c;我们会发…目录 一、索引 二、MySQL 与磁盘交互基本单位 三、索引的理解 一、索引 为什么要有索引 首先我们插入一个8000000条记录的数据再来查询数据看看没有索引的情况下会耗费多长时间。 当执行完这几条命令时我们会发现数据量很大所占内存为565mb。 当我们选择显示所有数据当然mysql会阻塞住数据量太大了。        当我们强制的展示所有的数据时mysql会被操作系统kill掉因为mysql检索数据需要将文件中的数据加载到内存中当操作系统检测到mysql占用太多内存资源就会将mysql这个进程终止。 我们只能aborted掉我们可以指定某个数来查询。 仅仅如此都耗费了3.54sec这次我们来建立索引看看效果。 我们会发现效果显著。 二、MySQL 与磁盘交互基本单位 而 MySQL 作为一款应用软件可以想象成一种特殊的文件系统。它有着更高的IO场景所以为了提高 基本的IO效率 MySQL进行IO的基本单位是16KB (后面统一使用 InnoDB 存储引擎讲解)。 16 * 1024  16384。 之前的博客讲到过我们操作系统与磁盘交互的基本单位是4KB。 MySQL 进行IO的基本单位是 16KB,意味着单次的IO效率更高这个基本数据单元在 MySQL这里叫做page。 三、索引的理解 建立测试表。 无序的插入数据。 我们会发现数据是有序排列的。  不同的page都是16kb使用prev 和 next 构成双向链表。 因为有主键的问题 MySQL 会默认按照主键给我们的数据进行排序从上面的Page内数据记录可以看 出数据是有序且彼此关联的。 插入数据时排序的目的就是优化查询的效率。 这样我们就可以通过多个Page遍历Page内部通过目录来快速定位数据。可是貌似这样也有效率问 题在Page之间也是需要 MySQL 遍历的遍历意味着依旧需要进行大量的IO将下一个Page加载到 内存进行线性检测。这样就显得我们之前的Page内部的目录有点杯水车薪了。  所以我们在Page中放入其他Page的目录通过目录检索Page便方便很多。 将整个模型完整表述就是这样的 这就是B树。  B树的结构特点 1.非叶子节点不存储真正数据存储page指针与页目录只具有索引功能。 2.叶子节点彼此之间相连接 为什么不用B树 B树 我们可以发现他的非叶子结点不仅携带索引信息也携带数据并且叶子结点之间不相连。 Mysql中不以B树作为建立索引的底层数据结构原因就是 1. B树非叶子结点携带数据就不能存储更多的目录 2.叶子节点没有连接不便于范围查找。 聚簇索引 VS 非聚簇索引 如今我们现在所学习到的就是聚簇索引。B树和数据耦合在一起。 InooDB存储引擎存储数据采用聚簇索引。 那非聚簇索引为结构与数据不存放在一起。 像MyISAM存储引擎采用非聚簇索引。其中叶子节点中存储的是存放数据的地址而不是数据本身。 user1与user都是表结构只不过使用的是不同的存储引擎。 user表采用InnoDB引擎采用聚簇索引user.ibd文件中存放的为数据与索引。 user1表采用MyISAM引擎采用非聚簇索引user1.MYI存放索引user1.MYD存放数据。 我们还需要知道         1.具有主键的表每一个表都有一个B树。 2.而没有主键的表会有隐藏的主键来协助生成B树。 3.内存加载数据时不一定需要将B树全部加载而是按需加载。 为什么其他结构不行 1.二叉搜索树深度过深意味着内存中要加载的数据就会很多所以系统和硬盘的IO的次数增多并且有可能退化成线性结构效率更低。 2.AVL红黑树深度深系统和硬盘的IO的次数增多。 3.HashMySQL 是支持HASH的不过 InnoDB 和 MyISAM 并不支持。
http://www.zqtcl.cn/news/3000/

相关文章:

  • 杭州的做网站公司整合营销传播方法包括
  • 体彩网站建设中国建设注册管理中心网站
  • 小企业网站建设地点运动品牌网站开发题目来源
  • 宁波营销型网站建设购物商城网站功能设计
  • 软文写作网站企业网站用什么做二次开发最快
  • 网店美工主要负责福州网站推广优化
  • 网站建设规划方案模板网站怎么识别手机跳转
  • 企业网站软件下载wordpress建网站缺点
  • 北京企业建设网站公司哪家好学校网站代码
  • 网站源码使用方法网站建设作业做一个简单的网站
  • .tel域名不可以做网站域名吗云南协千
  • 重庆做网站熊掌号竞价网站模板
  • dreamwearver可以做网站吗电子商务网站建设的总体目标
  • 做坑人网站二维码浏览器直接进入网站
  • 几百块钱可以做网站吗北大企业管理培训课程
  • 聊城集团网站建设公司平江外贸网站推广找哪家
  • 网吧网站怎么做的WordPress文章底部广告插件
  • 找素材的网站莆田外贸自建网站
  • 民族建设集团有限公司官方网站专业网站建设费用怎么算
  • 云岭先锋网站是哪家公司做的如何与老板谈网站建设
  • 这么建设新的网站安卓是哪里开发的
  • 如何做设计网站页面文创产品设计作品欣赏
  • 网站宽度新网站怎样做优化
  • 东莞公司网站制作品牌建设需要哪些方面
  • 做淘宝客优惠券网站必须是企业吗游戏网站建设计划书
  • 郑州网站高端设计iis7 网站无法显示该页面
  • wordpress外贸站gdpr品牌网站建设公司排名
  • qq音乐如何做mp3下载网站wordpress自动接口
  • 网站建设关键性开发工具襄阳网站建设价格低
  • 宁波微网站建设wordpress 标题分隔符