0

图和关系数据库的横向时间复杂度是多少?

4

3 回答 3

2

计算机或代数哪个更快?

关系模型是一种思考数据的方式,一种向用户表示数据的方式。它没有说明实施。询问关系数据库的时间复杂度就像询问. f(x)

我没有使用过使用元组线性数组来存储数据的 SQL DBMS。他们都使用某种树:B-tree、B+tree。树是图。因此,图形数据库声称的物理优势是基于,好吧,如果你问我的话。

SQL DBMS 在过去几年增加了对所谓的递归查询的支持。这些查询的有效执行不存在理论上的问题,而且我已经看到它完成了。但是查询优化器必须支持它才能正常工作,如果开源项目在该领域有一些工作要做,我不会感到惊讶。

在选择你的武器时,不要询问“关系数据库”,而是询问在特定实现中对递归查询处理的支持,

不过要小心错误的对称性。“图形数据库”中缺少相当长的列表。例如,关系模型基于代数,这是 SQL 所基于的(主要是松散的)。图论缺乏这样的代数,因此缺乏良好的操作语言。约束执行和交易也有类似的故事。

于 2013-03-14T16:07:55.867 回答
1

图数据库的一个(也许是)关键点是不必为遍历做任何连接。

于 2013-10-23T15:45:06.153 回答
0

两者都有 O(N)?

图形数据库的核心是一个表(https://stackoverflow.com/a/2968931/623735)。RDB 已经发展到在处理表方面非常有效。因此,大多数具有持久存储的大型 GDB 都使用 RDB 来存储节点表。GDB 只是将所有常规数据表行的 id 堆叠到一个“节点”表中(为高效索引而分组和排序)。GDB 的魔力在于用于遍历/探索图形的高效算法。

所以我不认为 GDB 真的像 RDBMS 对相同类型的数据进行相同类型的查询那样对两个表进行连接(遍历)。GDB 只是以链表的方式从一个节点(节点表中的行)走到另一个节点。一旦找到您查询的节点,然后对节点属性表进行一次“遍历”以检索您查询的信息(名称、等级、序列号;)。

于 2013-03-08T18:26:18.547 回答