b-tree-index

    1热度

    2回答

    我知道B-Tree是如何在内存中工作的,它很容易实现。然而,什么是目前完全超越我的,是如何找到数据的布局,在磁盘上有效地工作,使得: 条目在B树的数量可以indefinitly增长(或至少> 1000GB ) 磁盘级复制操作最小化 值可以有任意的大小(即没有固定的模式) 如果有人可以提供深入了解布点在磁盘上的B级树结构,我想非常感谢。特别是最后一点让我头痛不已。我也很欣赏指向书籍的指针,但是我所见

    -1热度

    1回答

    我学B +树和B树,我想明白了两件事吧,如果有人可以把它澄清我,我将不胜感激: 为什么我可以在B +树索引中存储更多的搜索关键字?我的猜测是,原因是因为B +树的节点指向子树而不是数据。 是否有不会与 B +树索引工作,或者我可以使用所有的人任何类型的数据比较(=,> =,!=,<,<> ...)?

    -1热度

    1回答

    我有以下数据,我在Python现在缓存: id timestamp data-string 数据串大小是〜87字节。每个条目的RAM成本大约为198字节,这在python中最佳存储(使用dict并将时间戳记预先写入带有分隔符的data-str)。这对于我需要的缓存大小来说是相当大的。 我想尝试在MySQL表中存储相同,以查看我是否可以节省RAM空间。虽然这样做,我把它存储为: id times

    1热度

    1回答

    我正在创建一个数据库存储引擎(为了好玩)。我知道它使用B树(和东西),但在所有的B树基本示例中,它表明我们需要对键进行排序,然后将其存储为索引,而不是整数。 我可以理解排序,但如何做字符串,如果我有字符串作为索引的关键? 例如:我想索引btree中的所有电子邮件地址,我该怎么做?

    0热度

    1回答

    我试图调查到的每个索引页面的数量,并制定了以下查询: SELECT pyi.index_type_desc as [index type], i.name as [index name], sum(pyi.page_count) as [number of pages] FROM sys.dm_db_index_physical_stats(D

    0热度

    1回答

    我想了解PostgreSQL物理索引布局是如何的。我所知道的是索引是作为B树数据结构的一组页面的一部分存储的。我想了解如何真空影响指数。它有助于控制它的大小吗?

    2热度

    1回答

    我有以下数据结构,它描述了一个对象及其有效的时间段。假设下面的数字是unix时间戳。 { "id": 1234, "valid_from": 2000 "valid_to": 4000 }, { "id": 1235, "valid_from": 1000, "valid_to": 2200, } ... 我希望很快能够存储在JavaScript这些

    3热度

    2回答

    考虑以下蒙戈索引策略和查询, 指数: db.collec.ensureIndex({a:1,b:1,c:1}); 查询: db.collec.find({"a":"valueA"},{"_id":0,"a":1,"c":1}).sort({"c":-1}).limit(150) 上述查询返回的解释: /* 0 */ { "cursor" : "BtreeCursor a_1_b

    1热度

    3回答

    我们有我们内部的noSQL db,它基本上将所有内容都存储在一个紧凑的二进制文件中。现在,我需要一个类似于键值存储或B +树的数据结构。问题是在我的情况下,'价值'可以是不同的类型,并且大小非常不稳定,可能从1Kb到1Gb。通常,键是一个字符串,值是数据流,可以是int,string或自定义类型的流。 我在考虑实现一个B +树,但这并不容易,因为B +树需要'值'是相同类型的,并且'值'的大小应该

    3热度

    1回答

    我在写一个简单的工具来检查重复文件(即具有相同数据的文件)。其机制是使用sha-512算法为每个文件生成散列,然后将这些散列存储在MYSQL数据库中。我在二进制(64)唯一非空列中存储散列。每行都有一个唯一的二进制散列,用于检查文件是否重复。 - 我的问题是 - 能否在二进制列使用索引,我的默认表排序规则是LATIN1 - 默认排序规则? 哪种索引机制应该使用Btree或Hash来获得高性能?我需