我使用的 SQL Server 运行在具有 8 个 SSD 的 Azure VM 上。SSD 在存储空间中被分组为 1 个磁盘 - 以增加容量并合并 IOPS/吞吐量。但据我所知,“合并 IOPS”部分似乎不起作用(尽管“合并吞吐量”部分正在工作)。事实上,看起来 1 个磁盘上的 SSD 性能(IOPS)比整个 8 个物理磁盘虚拟磁盘更好。所以,我正在考虑忘记存储空间并将我的数据拆分到 8 个磁盘上。
但是,最好的方法是什么呢?(我对多个文件,文件组,分区表等没有太多经验。)
只需创建 8 个 mdf 文件(每个磁盘 1 个),然后让 SQL Server 在所有这些文件中重新分配数据?如果是这样,我想知道 SQL Server 如何知道给定记录在哪个磁盘上。这样做会加快速度吗?
也许也拆分 ldf 文件?
那么多个文件组呢?我真的不知道多个文件和文件组之间有什么实际区别。
那么,使用分区函数以某种方式拆分大表怎么样?这会有帮助吗?因为现在,也许 SQL Server 会“更好地了解”给定记录的位置(在哪个文件中)-因为这是由分区函数定义的?