跳表

请问大家,为什么基于跳表的数据库写操作要比读操作快呢

全部评论
写是append,读是二分,而且也不一定写比读快,看场景
2
送花
回复
分享
发布于 2023-10-08 18:48 北京
我的理解可能是因为 写入刚开始是从0个节点开始写的,耗时从小到大,读的话一开始就是logn复杂度,耗时始终保持最大。
2
送花
回复
分享
发布于 2023-10-18 12:09 上海
蔚来
校招火热招聘中
官网直投
基于跳表的数据库写操作比读操作快的原因主要有以下几点: 1. 数据结构特性:跳表是一种动态的数据结构,可以方便地进行插入、删除和更新操作。在写操作中,只需要修改相应节点的指针即可完成操作,而不需要像读操作那样需要进行查找和遍历操作。 2. 并发写操作:基于跳表的数据库在支持并发写操作时,可以通过锁机制或者乐观并发控制等方式,对写操作进行并发处理,提高写操作的并发能力,从而加快写操作的速度。 3. 顺序写入:在很多情况下,基于跳表的数据库写操作是基于顺序写入的,即将新的数据追加到跳表的末尾。这样的写入方式可以减少随机写入的开销,并且跳表的顺序结构有利于提高写操作的效率。 4. 磁盘写入优化:基于跳表的数据库在磁盘写入时,可以通过批量写入或者异步写入等方式进行优化,将多个写操作合并成一个较大的写操作,减少磁盘IO的次数,从而提高写操作的效率。 总之,基于跳表的数据库写操作比读操作快,主要得益于跳表数据结构的特性、并发写操作的支持、顺序写入的方式以及磁盘写入的优化等因素的综合作用。
点赞
送花
回复
分享
发布于 2023-10-08 16:37 北京
只可能你插入的是排序数据,O1复杂度
点赞
送花
回复
分享
发布于 2023-10-08 16:38 湖南
读是不是要合并多个节点的数
点赞
送花
回复
分享
发布于 2023-10-09 16:25 江苏

相关推荐

3 6 评论
分享
牛客网
牛客企业服务