Joh*_*sky 6 sql sql-server olap ramdisk sqlperformance
我正在OLAP环境中的一些非常大的表上运行一些聚合查询.我目前受到磁盘IO的瓶颈,速度为200 MB/s.
我正在使用92 GB RAM的机器上进行这些查询.是否有任何SQL提示我可以写入我的查询,基本上告诉SQL在执行之前将整个表加载到RAM中?
就像是:
从myTable中选择*(ramdisk)
我正在使用MS TSQL.
不会。如果页面缓存中有足够的空间,数据库引擎会自动执行此操作。
您可以使用 SQL Server Management Studio 设置正在使用的内存量。右键单击服务器,选择内存选项,然后在“最小服务器内存”框中输入较大的数字。如果您有 92 GB 的 RAM,那么 85,000 这样的数字可能就不错了。您需要为机器上的操作系统和其他服务留出额外的内存。
假设表适合内存,这应该有助于处理。如果它们不适合记忆,那么您可能必须采取另一种方法。