Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 什么时候使用数据库是个好主意 我正在做一个C++的信息检索项目。使用数据库存储术语与将其存储在数据结构(如向量)中相比有哪些优势?更一般地说,什么时候使用数据库而不是数据结构是一个好主意?_Database_Programming Languages_Information Retrieval - Fatal编程技术网

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

Database 什么时候使用数据库是个好主意 我正在做一个C++的信息检索项目。使用数据库存储术语与将其存储在数据结构(如向量)中相比有哪些优势?更一般地说,什么时候使用数据库而不是数据结构是一个好主意?,database,programming-languages,information-retrieval,Database,Programming Languages,Information Retrieval,当您想将数据保留在程序实例的长度之外时?除了Shawn指出的持久性之外:当您想让程序的多个实例能够轻松共享数据时 内存中的数据结构很好,但它们不能替代持久性 (Shawn):只要您想将数据保留在程序实例的长度之外。(跨时间的持久性) (迈克尔·科林):无论何时,只要你想在同一台计算机上或在许多计算机上,比如在网络或网络上,获得和操作(共享)相同的数据,你都可以使用相同的程序实例。(跨网络空间的持久性) 无论何时,只要有大量数据无法放入内存中 当您有非常复杂的数据结构,并且您不希望重写代码来操作它

当您想将数据保留在程序实例的长度之外时?

除了Shawn指出的持久性之外:当您想让程序的多个实例能够轻松共享数据时

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

  • (Shawn):只要您想将数据保留在程序实例的长度之外。(跨时间的持久性)

  • (迈克尔·科林):无论何时,只要你想在同一台计算机上或在许多计算机上,比如在网络或网络上,获得和操作(共享)相同的数据,你都可以使用相同的程序实例。(跨网络空间的持久性)

  • 无论何时,只要有大量数据无法放入内存中

  • 当您有非常复杂的数据结构,并且您不希望重写代码来操作它们时,例如,当db程序员已经编写了这样的代码并且可能比您(或我)将要编写的代码快得多时,搜索、更新它们


  • 这实际上取决于范围。例如,如果您要让多个应用程序访问数据,那么数据库更好,因为您不必担心文件锁定等问题。此外,当您需要连接其他数据、排序等操作时,您可以使用数据库。。。除非你想实现快速排序

    为了澄清,我的意思是使用数据库而不是使用fstream将其存储在文件中。@Herr:这是一个(相关但)不同的问题。谢谢大家的回答。