AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[btree](dba)

Martin Hope
Revolucion for Monica
Asked: 2017-05-04 11:22:35 +0800 CST

如何将带有键的记录输入到最初为空的 B+ 树?

  • 11

将键为(1、2、3、4、5)的记录输入到一个初始为空的B+-m = 3阶树的结果。如果溢出,分裂节点,不重新分配邻居的钥匙。是否可以以不同的顺序使用键输入记录以获得高度较低的树?

来自Relational DBMS Internals,第 5 章:动态树结构组织,第 50 页

我不擅长这个,但我试着在左边做 ≤ ,在右边做 > :

直到插入 1,2 :

在此处输入图像描述

然后,就我们必须拆分节点而不是将密钥重新分配给邻居(我将其理解为子节点)而言,我只在带有 2 的单元格右侧插入:

在此处输入图像描述

我在插入 5 时继续做同样的事情:

在此处输入图像描述

但这很奇怪,我从来没有见过这样的空节点......而且我不知道它是否尊重一些非常基本的 B 树属性:

  • 每个节点最多有(m-1) 个键,至少有(⌈(m/2)⌉-1)个键,除非键可以为空,我会将键理解为“指针”。

第一次尝试:订单上的错误揭示了一个不明确的树

一开始我误解了什么是“订单”(每个节点的最大子节点数)。所以我认为一个节点可以有三个空格(因此有 4 个子节点。我认为我正在创建一个 4 阶树:

直到插入 1,2,3 :

在此处输入图像描述

插入 4,只要我们必须拆分节点而不是将密钥重新分配给邻居(这似乎是矛盾的),我会让 1,2,3 和 4,5 在 3 之后的右叶上:

插入 4 & 5 后的 3 阶 B 树

btree
  • 1 个回答
  • 1035 Views
Martin Hope
dpetican
Asked: 2016-06-24 13:26:54 +0800 CST

用于 Linux 的 XML 数据库

  • 1

我希望能够在数据库中存储多个 xml 对象。但我不想只是序列化对象并将其转储出来。相反,我希望能够像访问 xml 本身一样访问 xml 对象的数据库表示形式。

多个模块需要访问相同的数据,但如果可以告诉它们从哪个节点开始读取,效率会更高。

换句话说,遍历数据库就好像它实际上是一棵二叉树一样。CouchDB 说它使用二叉树,但乍一看我没有办法以树状方式存储和检索数据。这是图形样式数据库的领域吗?

linux btree
  • 1 个回答
  • 186 Views
Martin Hope
Alexandros
Asked: 2014-04-10 04:10:30 +0800 CST

PostgreSQL,整数数组,相等索引

  • 8

我有一个巨大的整数数组列表(300,000,000 条记录)存储在 Postgres 9.2 DB 中。我想有效地搜索这些记录以获得完全匹配(仅相等)。我听说过 intarray 模块和相应的 gist-gin 索引。我想问以下问题:

  • PostgreSQL 是否使用哈希函数来检查整数数组的相等性,还是执行暴力算法逐一比较数组的元素?
  • 如果 PostgreSQL 使用散列函数,是否有一些 PostgreSQL 函数代码可以实际获取特定数组的散列函数结果?
  • 哪个索引最适合这样的任务?B-tree,还是 intarray 模块提供的 gist - gin 索引?数据集将是静态的,即,一旦插入所有记录,就不会再插入了。所以,建立索引/更新索引时间对我来说并不重要。
postgresql btree
  • 2 个回答
  • 3356 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve