哪个数据库(DBMS)可以最好地处理大型表?

Joh*_*hnB 4 mysql postgresql sql-server-2008 database-performance

在SQL Server(2008 R2 Developer Edition)中也有一个非常大的表,它有一些性能问题.

我想知道另一个DBMS是否会更好地处理大型表.我主要只考虑以下系统:SQL Server 2008,MySQL和PostgreSQL 9.0.

或者,正如上面提到的引用问题所示,表大小和性能主要是索引和缓存的一个因素吗?

此外,更大的正常化会提高性能,还是会阻碍它?

编辑:

下面的评论之一声称我含糊不清.我有超过2000万行(20年的库存数据和2年的期权数据),我试图弄清楚如何将性能提高一个数量级.我只关心读/计算性能; 我不关心写性能.唯一的写入是在数据刷新期间,那些是BulkCopy.

我已经有了一些索引,但希望我做错了,因为我需要加快速度.我也需要开始查看我的查询.

提供的评论和答案已经帮助我了解如何开始分析我的数据库.我是程序员,而不是DBA(因此Marco的书推荐是完美的).我没有那么多的数据库经验,我以前从未对数据库进行过分析.我会尝试这些建议并在必要时报告.谢谢!

Mar*_*ani 11

80M行不大.您只需要学习如何设计和查询该大小的数据.其中可能包括规范化,非规范化,聚类,索引,但往往权衡它们看起来更深.添加索引实际上甚至会因为读取而损害性能,例如,如果优化器不够好或者判断错误的统计信息.

我建议你阅读重构SQL应用程序,因为它不是从"数据库调优器"而是从开发人员的角度来解决问题.

本书由The Art of SQL的作者撰写,并在许多场景下对Oracle,SQL Server和MySQL进行了比较.这是实用的,并附带一些有用的图表.

除非被迫,否则我会远离MySQL.根据"摇滚"的几个定义,Postgres 9.0摇滚,但我仍然会在生产中使用8.4几个月.

如果您希望人们帮助您使用此表,请提供尽可能多的详细信息:架构,索引,数据分布,使用模式等.