我知道,如果我们在配置为单独磁盘组(SAN )的单独驱动器上分离数据库,则有助于改进磁盘IOP。
将数据库分离到不同的驱动器是否有助于提高数据库上的IO性能?如果不是为什么,正如URL所说,Windows有自己的索引,安装的应用程序可能有也可能没有自己的索引。SQL server有自己的。
那么,为什么将数据库定位到同一存储组(SAN )上分离驱动器将无助于提高性能?操作系统将有单独和较小的索引为每个驱动器,这将有助于改善磁盘IOP。
发布于 2023-04-06 11:29:29
首先,我们不要将Windows磁盘索引与Server(或任何数据库的,真正的)索引混淆起来。
确实,Windows确实创建了磁盘内容索引。然而,该特性的目的是帮助搜索基于普通用例的有限的事物集。通常,索引磁盘有助于根据元数据(类型、日期、关键字)或利用应用程序特定特性(如Outlook扩展索引到邮件内容的能力)查找音乐、图片和文档。几乎没有配置Windows文件索引的方法。该索引帮助用户找到他们感兴趣的实际文件。
相反,Server中的索引(以及一般的数据库中的索引)具有不同的倾向。索引是为特定用例设计的,其基础是有哪些数据以及如何查询这些数据。对于覆盖索引,查询的答案就是从索引本身读取的内容。当然,有时整行都是需要的。还有其他用途,如外键、物化索引等。这与只帮助您找到感兴趣文件的Windows文件索引结果非常不同。
现在,为什么在SAN中将数据库文件分离到不同的LUN对性能有帮助?它与Windows文件索引没有任何关系。性能优势来自于将工作负载分散到多个设备的能力。SAN中的MPIO可以通过将并行IO划分为多个通道来运行并行IO,而且这种方式通常可以很好地扩展。SAN存储设备具有多个磁盘(SSD、HDD或两者),当工作负载扩展到多个设备时,它们提高性能。当磁盘访问并行进行时,与在串行进程中排队时相比,同时所做的工作更多。
如果数据库文件位于单个物理磁盘上,无论是SAN还是本地计算机,那么并行工作的可能性就不如数据分散时那么大。
https://dba.stackexchange.com/questions/325611
复制相似问题