在我们的基于Web的项目中,通常会有一些静态数据,可以将其存储为数组或存储在数据库表中。那么哪种方式应该被优先考虑呢?
我认为数组具有一些优势:
- 更加灵活(可以是任何结构,包括非常复杂的关系)
- 性能更好(它将被加载到内存中,与数据库的I/O操作相比,具有更好的读/写性能)
但是我的同事认为他更喜欢使用数据库方法,因为它可以保持统一的数据持久化接口,并且更加灵活。
那么哪种方法应该被优先考虑呢?或者我们如何进行选择?或者我们应该在某些情况下优先选择一种方法,在其他情况下选择另一种方法?这些情况是什么?
编辑:
让我澄清一些内容。正如Benjamin对标题进行的更改一样,我们想要存储在数组(文件)中的数据不会那么频繁地发生更改,这意味着代码不会在运行时更改数组的值。如果数据变化非常频繁,我肯定会使用数据库。这就是我发布这篇文章的原因。
有时候存储一些非常复杂的关系是比较困难的,例如:
Task = {
"1" : {
"name" : "xx",
"requirement" : {
"level" : 5,
"money" : 100,
}
...
}
就像上面的代码示例(一个Python字典,或者你可以认为它是一个数组),需求字段很难存储在数据库中(直接将类似pickle对象的结构存储到数据库中?我认为这样不太好)。因此,在这种情况下,我更喜欢使用数组。
那么你的想法是什么?在这种情况下,我们应该选择数组而不是数据库,对吗?
谢谢。