我刚刚从对这个问题的回答中了解到,Server使用的.mdf和.ldf文件对于数据库来说是很重要的一对。我以前认为.ldf只是一个备份或审核的非关键日志。
无论如何,我们的服务器现在在SSD上有.mdf,在主硬盘上有.ldf。我是这样设置的,因为我认为.mdf是性能最关键的文件位置。
但现在看来,.ldf实际上是在发生UPDATE时首先编写数据的地方,然后是将.mdf写到后面的地方。
我应该把这两个文件都放到SSD上吗?或者,如果他们在不同的驱动器,即使其中一个是硬盘?(如果是的话,哪个文件应该放在哪里?)
如果这有区别的话,SELECT的性能对我来说比UPDATE更重要(也更常见)。
发布于 2013-04-18 13:09:26
这些是数据(mdf)和日志(ldf)文件的一般规则:
因为mdf文件是随机访问的,日志文件是按顺序访问的,所以如果日志与经常访问的其他数据共享磁盘,则会看到大量的写入性能下降。这在很大程度上是因为等待磁盘周围寻找的时间被浪费了。显然,对于SSD,您没有这个搜索代价,但是磁盘仍然有一个最大的写入吞吐量需要考虑。
在数据仓库/OLAP类型的服务器中,这可能不是什么问题,因为大多数日常使用可能是只读的,而ETL批处理可能会在非高峰时间运行。数据文件和日志文件可能不会相互竞争。
因此,这个故事的寓意是,如果您对数据库的写性能不满意,我建议将日志移动到一个具有较高顺序写入吞吐量的专用卷中。这通常意味着在传统的旋转磁盘(而不是SSD)中使用RAID10卷。您使用的磁盘越多,它就会越快。不要对日志使用RAID5,因为写入性能通常很差,除非您的数组控制器有足够大的缓存来掩盖这种效果。
https://dba.stackexchange.com/questions/40351
复制相似问题