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

建设行政主管部门官方网站nginx 网站正在建设中

建设行政主管部门官方网站,nginx 网站正在建设中,做网站营业范围,大连百度推广优化1.B-Tree的原理分析 #xff08;1#xff09;什么是B-Tree B-树#xff0c;全称是 Balanced Tree#xff0c;是一种多路平衡查找树。 一个节点包括多个key (数量看业务)#xff0c;具有M阶的B树#xff0c;每个节点最多有M-1个Key。 节点的key元素个数就是指这个节点能…1.B-Tree的原理分析 1什么是B-Tree B-树全称是 Balanced Tree是一种多路平衡查找树。 一个节点包括多个key (数量看业务)具有M阶的B树每个节点最多有M-1个Key。 节点的key元素个数就是指这个节点能够存储几个数据。 每个节点最多有m个子节点最少有M/2个子节点其中M2。 数据集合分布在整个树里面叶子节点和非叶子节点都存储数据类似在整个树里面做一次二分查找。 B 树相对于平衡二叉树每个节点存储了更多的键值key和数据data。 实际业务中B树的阶数一般大于100存储大量数据B树高度也会很低查询效率会更高。 备注 每个节点拥有最多的子节点子节点的个数一般称为阶。 阶m阶是代表每个节点最多有m个分支子树。 树的度这棵树里面节点最大的度。 节点的度当前节点有几个子节点。 2B树插入原理 每个节点的数据都是顺序存储具有M阶的B树树的阶数表示每个结点最多可以有多少个子结点 3B树的应用场景 在数据库中B树用来维护索引用来提高查询效率一个节点可以存储整个页即磁盘块在文件系统中B树用来存储文件的目录信息提高文件的访问效率在操作系统中B树可以用来存储内存管理信息提高内存的分配效率 4思考3层的B树阶数为1024最多容纳多少个元素 B树的阶数表示每个结点最多可以有多少个子结点因此B树的阶数为1024表示每个结点最多可以有1024个子结点 由于B树的3层因此根结点可以有1024个子结点每个子结点又可以有1024个子结点 因此一个3层的B树阶数为1024B树的每一层的节点数都是阶数的幂次方 计算总容量 把每一层的节点数相加 即10241102421024^3 大约是 11亿个节点假如每个节点放一个元素就是11亿个 所以在10亿个数据中找目标值常规小于3次磁盘IO即可找到目标值比平衡二叉树的30次提升了不少 平衡二叉树的高度就等于每次查询数据时磁盘 IO 操作的次数。 10亿的数据量log2(N)约等于30次磁盘IO log2(N) 相当于2的多少次方立方等于N例log2 (8 32的30次方1073741824所以就是30次磁盘IO 2.BTree的原理分析 1什么是BTree 是B树的一种变形形式B树上的叶子结点存储关键字以及相应记录的地址同等存储空间下比B-Tree存储更多key非叶子节点不对关键字记录的指针进行保存只进行数据索引 , 树的层级会更少 , 所有叶子节点都在同一层,叶子节点的关键字从小到大有序排列叶子节点之间用指针连接, 构成有序链表稠密索引B树上每个非叶子节点之间是一个双向链表进行链接而叶子节点中的数据都是使用单向链表链接查找特点 当索引部分某个结点的关键字与所查的关键字相等时并不停止查找继续沿着关键字的指针向下每次查询必须到叶子节点才能真正获取到相关数据BTree叶子节点相连接对树的遍历就是只需要 一次线性遍历叶子节点由于叶子节点的数据是顺序排列方便区间查找在B树完成范围查找排序查找分组查找去重查找 比B树效率也比较高 2BTree插入流程解析 总结 B树和B树的最大区别在于非叶子节点是否存储数据 B树非叶子节点只是当索引使用同等空间下B树存储更多key B树,非叶子节点和叶子节点都会存储数据找到对应节点就有对应的数据 B树, 只有叶子节点才会存储数据,存储的数据都是在一行上找到非叶子节点的key还需要继续找到叶子节点才可以获取数据 B树的节点包括了key-value所以找到对应的key即可找到对应的value不用在继续寻找 两种树各有优缺点和应用场景 3.BTree树应用之Mysql索引底层原理剖析 背景 Mysql数据库是大家用最多的查询是最高频使用的操作 在多数数据库的设计里面会用B-Tree或BTree做索引提高查询效率 基于一张数据库的表数据进行查询类似mysql的user表 构建索引id用做key然后data是数据的存储地址 内存地址idphonenameAge0xFS84313820835467张三430xER98415738235423李四200x32421212152354223王五180x93100012152356324赵六300xAP234118735622097李祥190xSQ… 1千万条数据………精确查找 id2341的数据 select * from user where id 2341 未使用索引 自上而下查找数据一行行遍历5次才找到数据 使用索引 id建立主键索引BTree结构对应的数据存储数据的地址2次找到数据且数据量越多效果越明显根节点是常驻内存的不需要进行IO操作 范围查找 id1000 和 id 4212 的用户 未使用索引 自上而下查找数据一行行遍历 使用索引 id建立主键索引BTree结构由于本身是有序链表所以顺序查找即可 Mysql的InnoDB中的索引结构与MyISAM的索引结构的区别 InnoDB引擎,表数据文件按BTree组织的叶节点data域保存完整行数据, 树上的key就是主键, 以主键构建的B树索引 这种索引叫做聚集索引聚簇索引 clustered index 聚簇索引一般为主键索引而主键一个表中只能有一个所以聚集索引一个表只能有一个 聚簇索引叶子节点存储的是行数据而非聚簇索引叶子节点存储的是聚簇索引通常是主键 ID MyISAM引擎索引文件和数据文件是分开的索引结构的叶子节点放的是指向数据的主键或者是地址构建的B树索引 这种索引叫做非聚集索引、二级索引、辅助索引非聚簇索引 nonclustered index非聚集索引一个表可以存在多个叶子节点中保存的不是实际数据而是主键获得主键值后去聚簇索引中获得数据行 注意 非聚簇索引的叶子节点上存储的并不是真正的行数据而是主键 ID或记录的地址 当使用非聚簇索引进行查询时会得到一个主键 ID再使用主键 ID 去聚簇索引上找真正的行数据把这个过程称之为回表查询 所以聚簇索引查询效率更高而非聚簇索引需要进行回表查询性能不如聚簇索引 非聚簇索引的叶子节点上存储的并不是真正的行数据而是主键 ID或记录的地址 当使用非聚簇索引进行查询时会得到一个主键 ID再使用主键 ID 去聚簇索引上找真正的行数据把这个过程称之为回表查询 所以聚簇索引查询效率更高而非聚簇索引需要进行回表查询性能不如聚簇索引
http://www.dnsts.com.cn/news/93022.html

相关文章:

  • 做标书要不要做网站app设计欣赏
  • 搜索敏感词后很多网站打不开了江门建设局网站
  • 衡阳建网站成功的网站不仅仅是优化排
  • 不安装word使用wordpress杭州seo薪资水平
  • 网站制度建设情况叫企业做的网站可不可以自己改主题
  • 备案注销网站还有吗免费空间最大的云盘
  • 学做网站好就业吗商务型网站模板
  • 九亭做网站公司手机免费图片制作软件
  • net网站开发环境岐山网站建设
  • 腾讯云免费网站建设提供网站建设服务
  • 养老保险2023价格表青岛网站seo收费
  • 淘宝联盟返利网站怎么做哪里找装修设计师
  • 玉环市建设工程检测中心网站wordpress iconic
  • 才艺多网站建设小广告怎么能弄干净
  • 可口可乐网站建设的目的网站与平台的区别
  • 中国建设银行 云南 网站首页网站上传后打不开
  • 商务网站的功能和建设免费一级域名解析
  • 网站开发联系人国强概述网站建设的流程
  • 做海报找素材网站myapp wordpress
  • 怎么学会建自己网站的方法抖音代运营收费标准参考
  • 如何办网站深圳航空官网机票预订
  • 做服装最好的网站刷seo排名
  • 企业的网站建设前期工作总结大庆seo推广
  • 做视频类型的网站广州越秀区租房信息网
  • 怎么建设一个区块链资讯网站wordpress怎么建站
  • 石家庄建设厅网站首页甘肃做高端网站的公司
  • 松江品划网站建设推广网站建设兼职劳务协议
  • 经销商自己做网站合适吗北京小程序制作实惠华网天下
  • 黔江做网站mianf网站
  • 网站建设大约多少费用网站标题怎么修改