美文网首页读书每天写1000字简友广场
离线索引和在线查询的复杂度对比

离线索引和在线查询的复杂度对比

作者: 皮皮杂谈 | 来源:发表于2019-06-27 08:24 被阅读14次

算法的复杂度,主要是从系统执行时间和所需要占用的存储空间两个方面来衡量,分别称为时间复杂度和空间复杂度。那么,离线索引和在线查询的复杂度对比情况如何呢?

离线索引阶段的时间复杂度主要取决于建立索引的文档数量n,以及每篇文档的长度(即单词数量,最差情况为1).如果两者都快速增长,那么建立索引的时间会呈现指数级增加。

离线索引的时间和空间复杂度都要远远高于在线查询时的复杂度。

在线查询的时间复杂度主要取决于查询关键词的数量k,以及每个关键词命中的文档(最差情况是n)。所以短查询相对于长查询会更快,而包含生僻词的查询也会更快。

随着分析经验的积累,我们会发现时间和空间复杂度往往是可以相互转换的,然后根据实践应用的需求来做平衡。

最后需要注意的是,这里的时间和空间复杂度只是一种理论上的预估,是根据计算的操作次数,或者是存储单元的数量来统计的。它们假设不同的算法在被衡量的时候都处于同等的环境下,因而不会涉及具体的技术实现和软硬件环境,这和实际的性能指标是有区别的。

无论如何,这种理论上的评估让我们对系统的表现在设计初期就有了大致的了解,提供了方向性的指导。

相关文章

  • 离线索引和在线查询的复杂度对比

    算法的复杂度,主要是从系统执行时间和所需要占用的存储空间两个方面来衡量,分别称为时间复杂度和空间复杂度。那么,离线...

  • MYSQL-B+TREE索引原理

    1.什么是索引? 索引:加速查询的数据结构。 2.索引常见数据结构: #1.顺序查找: 最基本的查询算法-复杂度O...

  • hibernateQuery

    使用Query接口 Hql 条件查询 hql与sql语句对比及查询步骤 查询全部 条件查询>索引占位符 条件查询...

  • mongoDB的查询测试

    做的事情: 分析mongodb的查询性能,引入冗余的字段来加快查询的效率是否可行?同时对比了冗余字段和索引的查询能...

  • 内容算法 | 搜索系统的框架是什么

    通常将搜索系统分为离线和在线两部分。 其中离线部分专注于内容的搜集和处理。搜索引擎的爬虫系统会从海量网站上抓取原始...

  • Hibernate(2)-查询

    1、 使用Query接口 Hql 条件查询 hql与sql语句对比及查询步骤 查询全部 条件查询>索引占位符 条...

  • 搜索推荐后台开发-基本学习路线

    基本学习内容 目标 优化离线数据流处理流程 实现和优化搜索的在线服务 建立和优化高效索引构建服务 学习内容 基础内...

  • 学术论文写作——Corpus

    0x01 工具介绍 语料库分析可分为在线查询和离线工具,off-line Corpus Analysis tool...

  • 2018-07-20

    树状数组 基本概念 Binary Indexed Tree二叉索引树它的查询和修改的时间复杂度都是log(n),空...

  • 高性能数据仓库

    【摘要】 作为高性能计算数据仓库,SPL Server 可以在离线跑批、在线查询、多维分析和内存计算 4 个方面提...

网友评论

    本文标题:离线索引和在线查询的复杂度对比

    本文链接:https://www.haomeiwen.com/subject/ffzkcctx.html