Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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
它位于NoSQL数据库中,比如MongoDb,它可以通过在几分钟内添加新服务器来扩展(MySQL也可以,但它更复杂)。现在MongoDB可以有一个索引列,用户可以快速搜索该列。 底线是:你需要先回答上述问题,才能做出明智的决定。如果您有巨大的表,并且几乎所有数据库都只搜索索引键——如果您希望以后对结构进行许多更改,那么您希望使用不同的方法_Mysql_Sql_Database_Postgresql - Fatal编程技术网

它位于NoSQL数据库中,比如MongoDb,它可以通过在几分钟内添加新服务器来扩展(MySQL也可以,但它更复杂)。现在MongoDB可以有一个索引列,用户可以快速搜索该列。 底线是:你需要先回答上述问题,才能做出明智的决定。如果您有巨大的表,并且几乎所有数据库都只搜索索引键——如果您希望以后对结构进行许多更改,那么您希望使用不同的方法

它位于NoSQL数据库中,比如MongoDb,它可以通过在几分钟内添加新服务器来扩展(MySQL也可以,但它更复杂)。现在MongoDB可以有一个索引列,用户可以快速搜索该列。 底线是:你需要先回答上述问题,才能做出明智的决定。如果您有巨大的表,并且几乎所有数据库都只搜索索引键——如果您希望以后对结构进行许多更改,那么您希望使用不同的方法,mysql,sql,database,postgresql,Mysql,Sql,Database,Postgresql,编辑: 根据你刚刚发布的更新,我怀疑你会遇到问题 这不仅仅是大小的问题,它实际上取决于您希望访问数据的方式和应用程序的约束(选择、更新、删除)。MySQL可以完美地处理你提到的记录数量。你所问的更多取决于硬件和使用场景,而不是你运行的软件类型。硬件将决定你想象中的系统的速度。如果您需要检查所有数据,那么使用RDBMS或NoSQL搜索或处理50GB的数据的速度同样慢。基本上,如果没有硬件到位和使用场景,您就无法真正正确地估计哪些是好的,哪些不是。此外,10亿行并不多,跨越多个远程位置的数TB数据也

编辑:
根据你刚刚发布的更新,我怀疑你会遇到问题

这不仅仅是大小的问题,它实际上取决于您希望访问数据的方式和应用程序的约束(选择、更新、删除)。MySQL可以完美地处理你提到的记录数量。你所问的更多取决于硬件和使用场景,而不是你运行的软件类型。硬件将决定你想象中的系统的速度。如果您需要检查所有数据,那么使用RDBMS或NoSQL搜索或处理50GB的数据的速度同样慢。基本上,如果没有硬件到位和使用场景,您就无法真正正确地估计哪些是好的,哪些不是。此外,10亿行并不多,跨越多个远程位置的数TB数据也不多。@elbuild,我已经更新了这个问题,提供了更多关于访问数据库的方式以及将使用哪种类型的语句的信息。对于您的答案,这是非常有用的信息。我不会使用MyISAM引擎,因为我的大表中几乎所有字段都是外键。在切换到MySQL之前,我在Oracle工作了多年。现在我使用PostgreSQL。我可以向您保证,PostgreSQL与其他SQL相比并不复杂。只是PostgreSQL的默认设置更安全,所以在从远程服务器连接到它之前,您必须对PostgreSQL.conf和pg_hba进行一些更改。类似地,PostgreSQL(缓冲区)中的默认设置过去也很低。现在已经改变了。如果您预计需要编写复杂的查询(WITH子句、递归等),PostgreSQL可能会更好。马上,MySQL可能会更快。@Jayadevan谢谢你的评论。开发人员的经验总是非常有用的。也请考虑您可能需要的数据类型。对于日期/时间,MySQL最近增加了微秒精度。IP数据类型仍然不存在,而PostgreSQL已经存在很长一段时间了。。所有这些问题让我在处理必须以毫秒精度捕获的设备数据时遇到了困难。非常感谢您的详细回答。我很高兴看到MySQL能够管理如此数量的数据。我在网上也看到一些评论,说MySQL没有数据库完整性检查。这是因为有些人不建议在生产数据库中使用MySQL。看起来很奇怪,你怎么看?另外,我更新了问题,提供了更多关于访问数据库方式的详细信息。我必须使用我公司现有的IT基础设施。服务器的操作系统将是Windows server 2008。这可能是MySQL的一个问题吗?只有大约50%的人说他们在MySQL的生产中使用Windows。MySQL在Windows上运行良好,但大多数人使用Linux,可能是出于文化原因和技术原因。如果你不能选择服务器操作系统,那么这个问题就无关紧要了。在Windows上,任何其他数据库都会像MySQL一样受到影响。我很惊讶人们经常阅读2002年的文章,却懒得检查它们是否仍然相关。虽然有一些不好的、过时的和错误的文章,但这些文章并没有提及版本号。我是一个快乐的Pg用户和开发者,但当人们说他们想使用Pg是因为“它有外键和RI约束”时,我真的很生气。说真的,请加入我们这个十年。谢谢你的回答,充满了真正需要思考的问题。我从来没有想过混合数据库。可能是这样的。如果您使用C#只需要另一个数据上下文和连接字符串,就可以很好地使用它,并且可以将表扩展到数十亿条记录。我使用这种方法来存储JSON twitter文档,因为它们非常适合存储bson(二进制JSON)的MongoDB。