1

如何利用磁盘 IO 队列
我需要这样做,但在 Microsoft SQL 服务器表上。
我有一个包含 +100 个表的数据库。我需要读取每个表的每条记录。
有什么建议么?写几秒钟的基准测试和调试代码值得吗?
如果我能知道每个表在磁盘上的位置,那就太好了。
因为有人会问:是的,这是我程序中的一个瓶颈。

4

1 回答 1

4

其他答案与 SQL Server 无关。SQL Server 以自己的方式执行 IO。

一些指针虽然:

  • 确保每个表都有聚集索引
  • 您有定期索引维护
  • 确保您有良好的磁盘(RAID 等)
  • 如果非常关键,请使用企业版进行预读功能
  • 确保您有足够的内存

这是什么意思?

  • 如果您想在单个工作站磁盘上使用 SQL Server Express,请不要打扰。你不能优化这个
  • 拥有聚集索引和索引维护可确保数据在磁盘上大部分是连续的(受后续数据更改的影响)
  • 这需要多长时间的代理是在所有表上运行 DBCC CHECKDB。或 ALTER INDEX 重建。两者都需要从磁盘读取所有表的所有数据
于 2013-04-22T12:47:59.690 回答