6

我在 OLAP 环境中的一些非常大的表上运行一些聚合查询。我目前受到 200 MB/s 的磁盘 IO 的限制。

我在具有 92 GB RAM 的机器上执行这些查询。是否有任何 SQL 提示可以写入我的查询,基本上告诉 SQL 在执行之前将整个表加载到 RAM 中?

就像是:

使用 (ramdisk) 从 myTable 中选择 *

我正在使用 MS TSQL。

4

1 回答 1

3

不会。如果页面缓存中有足够的空间,数据库引擎会自动执行此操作。

您可以使用 SQL Server Management Studio 设置正在使用的内存量。右键单击服务器,选择内存选项,在“最小服务器内存”框中输入一个较大的数字。如果您有 92 GB 的 RAM,那么像 85,000 这样的数字可能就不错了。您需要为机器上的操作系统和其他服务留出额外的内存。

假设表适合内存,这应该有助于处理。如果它们不适合记忆,那么您可能不得不采取另一种方法。

于 2013-02-26T18:52:15.843 回答