gpt4 book ai didi

mysql - 哪个数据库 (DBMS) 最能处理大型表?

转载 作者:可可西里 更新时间:2023-11-01 07:10:13 24 4
gpt4 key购买 nike

我还有一个 very large table in SQL Server (2008 R2 Developer Edition) 存在一些性能问题。

我想知道另一个 DBMS 是否更适合处理大型表。我主要只考虑以下系统:SQL Server 2008、MySQL 和 PostgreSQL 9.0。

或者,正如上面提到的问题所回避的那样,表的大小和性能是否主要是索引和缓存的一个因素?

此外,更大程度的规范化会提高性能还是阻碍性能?

编辑:

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

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

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

最佳答案

80M 行并不大。您只需要学习如何设计和查询这种规模的数据。这可能包括规范化、非规范化、集群、索引,但通常权衡比它们看起来更深。添加索引实际上会损害性能即使是读取,例如,如果优化器不够好或决定了错误的统计信息。

我建议你阅读 Refactoring SQL Applications因为它不是从“数据库调谐器”而是从开发人员的角度来解决问题。

本书是The Art of SQL作者的作品,在多种场景下对Oracle、SQL Server和MySQL进行了比较。它很实用,并带有一些有用的图表。

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

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

关于mysql - 哪个数据库 (DBMS) 最能处理大型表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3241561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com