我应该安装 32 位数据库还是 64 位数据库?

Joh*_*hnB 16 mysql postgresql database 32bit-64bit sql-server-2008

(我已经阅读了很多关于 64 位与 32 位操作系统/应用程序的信息,但这个问题专门针对数据库。)

我试图了解 32 位与 64 位数据库的优缺点,即在什么条件下开始使用 64 位安装才有意义。

我感兴趣的数据库系统是:SQL Server 2008、MySQL 和 PostgreSQL 9.0。

我读过 9.0 之前版本的 PostgreSQL 仅提供 32 位 Windows,这篇关于在 64 位 Windows 上运行 32 位 PostgreSQL 的文章消除了我的一些困惑,但我正在寻找更多信息。

我什么时候可以从使用 64 位数据库中受益(即数据库大小/磁盘空间、可用系统内存、已知可以从中受益的数据类型、使用的数据库引擎等)?

Tom*_*Tom 21

在什么条件下开始使用 64 位安装才有意义。抱歉 - 在 64 位服务器上安装 32 位数据库有什么好处?而且 - 想象 - SERVER 2008R2 仅适用于 64 位。

现在,如果有机会,安装 32 位 SQL Server 版本没有任何意义。

数据库在这方面是特定的 - 因为它们希望在必要时使用大量内存作为缓存。比 32 位进程所能提供的微薄的 2gb / 3gb 多得多。PAE 不一样。即使忽略限制,PAE 内存也不等于 SQL Server 的实际内存(它仅用于一件事 - 缓存数据库页面)。

32 位操作系统 - 处于同一级别。在现代硬件上安装 32 位操作系统完全没有意义。

  • 就 32 位操作系统和应用程序而言,有一些次要优势,例如较小的内存占用。 (6认同)
  • +1 阿门兄弟!! (4认同)

Gre*_*ith 6

PostgreSQL 以两种主要方式从 64 位构建中受益。首先,适合 64 位的数据类型(主要是较大的整数和时间戳类型)可以更有效地直接在寄存器中传递,而不是使用指针。其次,可以为数据库的专用缓冲区缓存分配更多内存。该可调参数 (shared_buffers) 的收益递减点通常约为 8GB,但在 32 位系统上将限制为 <2GB。

但是,如果您在 Windows 上,PostgreSQL 不会像在 UNIX-ish 平台上那样有效地处理共享内存。无论您使用的是 32 位还是 64 位版本的 PostgreSQL,收益递减点通常最终是 <= 512MB 的数据库专用内存。您最好将其余部分留给操作系统缓存,而不是将其专用于数据库。因此,在 Windows 上使用 PostgreSQL 从 32 位到 64 位确实没有太大的性能提升;通常会受益于更多可用 RAM 的主要可调参数实际上并没有很好地利用它。