user35662 Asked: 2014-03-15 03:30:11 +0800 CST2014-03-15 03:30:11 +0800 CST 2014-03-15 03:30:11 +0800 CST 为什么数据库使用缓冲池进行写操作?[关闭] 772 在这种情况下,首先我们将数据写入RAM,然后将相同的数据写入数据库? 为什么我们需要做两次写操作? sql-server buffer-pool 1 个回答 Voted Best Answer Mark Wilkinson 2014-03-15T04:08:02+08:002014-03-15T04:08:02+08:00 如果您使用的是 SQL Server,如果需要修改页面,写操作会将页面拉入内存,并将更改写入内存中的页面以及事务日志。在给定的时间间隔内,这些更改以及自上次磁盘写入操作发生以来对相邻页面所做的其他更改将写入磁盘。这允许服务器一次性对磁盘进行更多逻辑写入,从而使写入操作更加高效。 这里有一些链接有很好的解释(再次假设您使用的是 SQL Server): 将内容写入磁盘时:http ://technet.microsoft.com/en-us/library/ms189573%28v=sql.105%29.aspx 写入操作期间会发生什么:http ://technet.microsoft.com/en-us/library/aa337560%28v=sql.105%29.aspx
如果您使用的是 SQL Server,如果需要修改页面,写操作会将页面拉入内存,并将更改写入内存中的页面以及事务日志。在给定的时间间隔内,这些更改以及自上次磁盘写入操作发生以来对相邻页面所做的其他更改将写入磁盘。这允许服务器一次性对磁盘进行更多逻辑写入,从而使写入操作更加高效。
这里有一些链接有很好的解释(再次假设您使用的是 SQL Server):