我在 MS SQL Server 上的表格中有超过 200 万行数据,没有遇到问题。当然,这取决于您如何使用该数据。
只是不要尝试使用 MySQL 处理此类数据。至少根据我的经验,它不能提供高性能所需的足够调整。我曾遇到过一些具有大量数据的(几乎)相同设置的表格。MySQL5 在相同硬件上的性能比 SQL Server 慢了约 30 倍。也许是极端案例,但仍然如此。
我对 PostgreSQL 或 Oracle 的经验太少,无法评判,因此我只会建议不要使用 MySQL。或者 Access ;)
我目前的项目中有一张表格,其中有1300万行。 MS SQL Server可以很好地处理它。实际上,200万行根本不算什么。
但是,如果你想要一个高端数据库,可以考虑Oracle、Teradata和DB2。
我们在MSSQL (2000, 2005, 2008)中运行着许多拥有数亿行数据的数据库。你遇到问题的地方并不是在行数,而是在对数据的访问特征上。根据情况,你可能需要跨越不同的硬件进行扩展,这也是不同数据库服务器之间真正体现差异的地方(还有价格...)
Microsoft SQL Server、MySQL、Oracle和DB2都可以轻松处理数百万行数据。
关键在于找到一个能够正确设计和管理数据库的DBA,以获得所需的性能特性。
200万行其实并不算多。我见过很多表格有超过5000万行,但在MS SQL中性能仍然可以接受。
依我之见,你距离一个“大型数据库”还有很长的路要走。
我同意richardtallent的观点。大型数据库系统都为我们提供了处理大型数据库的好工具。(200万行数据不算什么,但是如果索引糟糕或选择语句不当时,特别是在跨多个大小相似的表进行连接时,您可能会看到性能问题。)这取决于成本、可用性、支持成本等利弊。
我对Oracle和SQL Server最为熟悉。Oracle的价格相当昂贵,需要一个昂贵的专业DBA才能真正使用它。它并不以易用性而闻名,但熟悉它的DBA或程序员可以很好地使用它。它也有很大的灵活性,一些人认为它比其他数据库更强大。(我不知道这是否正确,但我知道它肯定提供了许多可以用来提高效率等方面调整的不同方式。)
SQL Server肯定可以很好地处理大型数据集。它有一个“更漂亮”的界面,被认为更易用,但可用性最终是个人观点问题。它的价格标签较便宜,但灵活性可能稍微不如Oracle。您可以获得一个“便宜”的SQL Server数据库管理员,因为其用户友好的界面使得基本的DBA任务对于非专家而言变得容易。但你会得到你付出的代价(通常) ,如果你真的想要效率和安全性,你需要支付一位专家。这些只是在考虑数据库时要考虑的一些事情。我相信MySQL和DB2也有自己的利弊要权衡。
但是,它们中没有一个会对区区200万行产生问题。(我经常在一个拥有数百个表格的数据库中工作, 其中一些表格拥有超过5000万行,但由于DBA知道他们在做什么,因此我几乎看不到性能下降)
后续编辑: 由于这是针对网站的,请考虑前端/后端的整合。例如,如果您正在使用ASP进行网站开发,则SQL Server是一个自然的选择。