2011-03-11 91 views
3

我正在做一个C++的信息检索项目。使用数据库存储术语有什么好处,而不是将其存储在数据结构(如矢量)中?更一般地说什么时候使用数据库而不是数据结构是一个好主意?什么时候使用数据库是个好主意

回答

2
  1. (肖恩):每当你想保持数据超出了程序的实例的长度。 (持续时间)

  2. (MichaelKjörling):无论何时您想要程序的许多实例,无论是在同一台计算机还是在许多计算机上,如在网络或网络中,访问和操作(共享)数据。 (跨越网络空间的持久性)

  3. 每当你有非常大量的数据不适合内存。当你有非常复杂的数据结构,并且你更喜欢不重写代码来操作它们,比如搜索,更新它们,当db程序员已经写了这样的代码,并且可能比你(或者我)的代码快得多的时候,会写。

+0

感谢大家的回答。 – 2011-03-11 13:17:22

2

每当你想保持超出程序实例长度的数据?

+0

为了澄清,我的意思是我的意思是使用数据库,而不是使用fstream将其存储在文件上。 – 2011-03-11 13:05:41

+0

@Herr:这是一个(相关但是)不同的问题。 – 2011-03-11 13:09:22

2

除了Shawn指出持久性:每当你想让程序的多个实例能够轻松共享数据?

内存中的数据结构很好,但它们不是持久性的替代品。

1

这真的取决于范围。例如,如果您要让多个应用程序访问数据,那么数据库会更好,因为您不必担心文件锁定等。另外,如果您需要执行诸如加入其他数据,排序等等,除非你喜欢实现Quicksort。

相关问题