THX*_*138 20 database sql-server data-storage datastore
上下文:SQL Server 2008,C#
我有一个整数数组(0-10个元素).数据不会经常更改,但会经常检索.
我可以创建一个单独的表来存储数字,但由于某种原因,感觉这不是最佳的.
问题1:我应该将我的阵列存储在一个单独的表中吗?请说明这种或那种方式的原因.
问题2 :(无论Q#1的答案是什么),在数据库领域存储int []的"最佳"方法是什么?XML?JSON?CSV?
编辑: 一些背景:存储的数字只是一些不参与任何关系的系数,并且总是用作数组(即永远不会检索或隔离使用某个值).
gbn*_*gbn 40
单独的表,规范化
不是XML或json,而是单独的行中的单独数字
无论你怎么想,这都是最好的方式.您可以稍后感谢我
Tho*_*mas 12
在数据库中存储数据的"最佳"方式是最有利于将对其执行的操作以及使维护最容易的操作的方式.这是后来的要求,它应该引导您使用规范化的解决方案,这意味着将整数存储在具有关系的表中.除了更容易更新之外,下一个开发人员更容易理解信息的存储方式和方式.
将其存储为JSON数组,但要知道所有访问现在都将用于整个数组 - 没有单独的读/写特定系数.
在我们的例子中,我们将它们存储为json数组.与您的情况一样,单个数组编号之间没有任何关系 - 数组只作为一个单元有意义,作为一个单元,它与表中的其他列有关系.顺便说一句,其他一切都被规范化了.我把它比作这样:如果你要存储一个10字节的块,你将它保存在一个包含在VARBINARY(10)的单列中.您不会将其分成10个字节,将每个存储在VARBINARY(1)的列中,然后使用外键将它们拼接在一起.我的意思是你可以 - 但这没有任何意义.
作为开发人员,你需要了解这个int数组的"单片"是什么.
| 归档时间: |
|
| 查看次数: |
43160 次 |
| 最近记录: |