微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据库设计 – 如何在磁盘或数据库上存储稀疏可查询矩阵?

我需要在磁盘上存储稀疏矩阵.它就像一个包含数百万行和数千列的数据库表,其中许多或大多数列为空.它需要是可查询的,就像某些列上带有WHERE的sql SELECT一样.

我的具体要求是Java.我首先想到使用Berkeley DB for Java来模拟表,但是它不支持基于值的查询.

然后,我考虑使用常规sql数据库.例如,创建仅包含行ID,列ID和值的模式.虚拟行将是具有相同ID的所有实际行.但是,这看起来像数据库滥用.

有任何想法吗?

解决方法

在阅读问题标题时,我首先想到的是每个(x,y)的数据库行,正如您在最后一段中所建议的那样.

另一件需要注意的事情是数据库经常压缩行,特别是对于NULL,因此简单的表示可能不会浪费你想象的那么多空间.

原文地址:https://www.jb51.cc/mssql/76694.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐