[求助]SQL Server 2008 一个30G的数据库的性能优化

0
公司的SQL Server 2008一个数据库用了两年多了,现在有30G左右大, MDF 和 LDF 都放在同一个 RAID1 上.
现在同事反映说偶尔会有顿卡的现象,而且越来越频繁.
各位 大虾 有什么建议吗,谢谢!
已邀请:
3

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2013-12-02 回答

可以试着把MDF 和 LDF 分开存储在不同的磁盘上,因为数据库中的很多操作都要记录在日志中,频繁读写日志对性能也会有影响。分散到不同的磁盘上,这样并行处理的能力就能上去,因为都在一块磁盘上,磁盘头读写数据的同时还要写日志,效率降低了。

如果有可能的话,增加 NDF 文件也分散到不同的物理盘中。我们公司的刀片机上比如说有6块硬盘,其中一块硬盘就专门放 mdf文件,其它硬盘就专门放 ndf, 然后ldf 文件单独放在一个硬盘上. 并且所有新建的数据库和系统数据库也是分散来放的.

一般业务数据库查询是非常占用资源的,两年多的数据不算是非常大,但是可以考虑试着做一下分区,看看主要的查询是不是发生在今年或者最近,如果是的话可以使用分区函数进行分区操作,这样查询的体积就小了,效率也就高了。

还是先试着设置数据库 OFFLINE,然后更改 LDF 文件位置,复制到指定位置后重新指向一下看看。
1

KevinLiu - 关注数据库,大树据,云,BI,移动开发 2013-12-27 回答

30G数据库很小了。你现在要知道你的数据库到底瓶颈在哪里,比如IO,内存,Blocking? 不同的问题有不同的解决办法。

而且不能头痛医头脚痛医脚,举个例子现在IO遇到了瓶颈,可能就是因为内存不足引起的,导致大量的PAGE OUT。

要回复问题请先登录注册