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

平台网站开发多少钱装修网线用几类

平台网站开发多少钱,装修网线用几类,软件定制开发费用,免费制作封面网站在MySQL中,为了加速查询,使用B树来构建索引,将查询性能从O(n)优化到O(log n)。虽然跳表同样提供O(log n)的查询效率并且实现相对简单,但B树更适合MySQL的索引使用,原因包括: B树和跳表的区别 B树和跳表的…

在MySQL中,为了加速查询,使用B+树来构建索引,将查询性能从O(n)优化到O(log n)。虽然跳表同样提供O(log n)的查询效率并且实现相对简单,但B+树更适合MySQL的索引使用,原因包括:

B+树和跳表的区别

B+树和跳表的最下面一层,都包含了所有的数据,且都是顺序的,适合用于范围查询。往上的层级都是构建出来用于提升搜索性能的。这两者实在是太像了。但他们两者在新增和删除数据时,还是有些区别的。下面我们以新增数据为例聊一下。

MySQL的索引为什么使用B+树而不使用跳表?

B+树是多叉树结构,每个结点都是一个16k的数据页,能存放较多索引信息,所以扇出很高。三层左右就可以存储2kw左右的数据(知道结论就行,想知道原因可以看其他的文章)。也就是说查询一次数据,如果这些数据页都在磁盘里,那么最多需要查询三次磁盘IO。

跳表是链表结构,一条数据一个结点,如果最底层要存放2kw数据,且每次查询都要能达到二分查找的效果,2kw大概在2的24次方左右,所以,跳表大概高度在24层左右。 最坏情况下,这24层数据会分散在不同的数据页里,也即是查一次数据会经历24次磁盘IO。

因此存放同样量级的数据,B+树的高度比跳表的要少,如果放在mysql数据库上来说,就是磁盘IO次数更少,因此B+树查询更快。

而针对写操作,B+树需要拆分合并索引数据页,跳表则独立插入,并根据随机函数确定层数,没有旋转和维持平衡的开销,因此跳表的写入性能会比B+树要好。

其实,mysql的存储引擎是可以换的,以前是myisam,后来才有的innodb,它们底层索引用的都是B+树。也就是说,你完全可以造一个索引为跳表的存储引擎装到mysql里。事实上,facebook造了个rocksDB的存储引擎,里面就用了跳表。直接说结论,它的写入性能确实是比innodb要好,但读性能确实比innodb要差不少。

http://www.yayakq.cn/news/761362/

相关文章:

  • 青岛如何做网站seo装饰公司营销型网站
  • 网站如何提高权重有没有专业做艺术品的网站
  • wordpress建电影网站互联网建站是什么
  • 提高网站安全性做民宿注册的网站
  • 德兴网站seoangular做的网站大全
  • 几何图形生成网站建站系统模板
  • 做影视网站风险大网站建设的应对措施
  • 响应式网站和不响应式d8 wordpress
  • 课程网站建设 碧辉腾乐discuz集成wordpress
  • 个人网站 不用备案吗国内电子商务网站有哪些
  • 手机搭建个人网站我要自学网app免费版
  • 凡建网站创新的手机网站建设
  • 做经营性的网站需要注册什么条件绵阳建设网
  • 怎样在网站做宣传网站开发猪八戒
  • 手机网站开发人员选项网站空间大小查询
  • 广州市建设企业网站平台六安商城网站建设地址
  • 郑州做网站找维诺保定官网优化技巧
  • 贵阳网站开发哪家好wordpress首页导航添加图片
  • 天津网站开发建设公司怎样用网站做淘宝客
  • 昆山市住房城乡建设局网站个人微信号做网站行吗
  • 做哪个软件网站app建官网公司
  • 武威做网站的公司麻将app软件开发价格
  • 淘宝客代理网站怎么做音响网站模板
  • 营销型网站测评方法百度官网认证
  • 网站开发工程师职位概要net做公司网站是否适合
  • 建设自己的网站怎么做sem优化是什么
  • 网站建设常州麦策电商可以自己做网站卖东西
  • 邢台网站改版怎么开发杭州建站模板制作
  • 长安网站建设制作公司营销一体化营销平台
  • 做房地产咨询网站怎么赢利郑州seo优化哪家好