对SQL Server的数据库日志文件的影响。

时间:2014-01-28 09:26:20

标签: sql sql-server sql-server-2005

我的一个网站很慢,我刚看到数据库日志文件(ldf)大小太大了20GB左右,甚至mdf文件大小也只有9GB。网站上有很大的影响力吗?

假设,我使用SHRINKFILE命令,那么网站性能会更好或没有。

2 个答案:

答案 0 :(得分:0)

不,只要磁盘空间不足,日志文件大小就不会影响数据库性能。如果恢复模型为Simple,则只需缩小日志文件,否则必须先备份数据库。

答案 1 :(得分:0)

像Danile所说,我不认为日志文件是你表现的原因。你可以运行下面的查询:

1.检查存储过程的执行时间。 2.识别长时间运行的存储过程时,可以优化它们 3.另一个技巧(虽然它只是一个快速修复)是重新编译存储的过程,因此经过验证的计划始终在proc缓存上。 4.另外,考虑更新状态,重建索引

SELECT @@servername server, db_name() db, b.name object,
    --a.min_elapsed_time,
    --a.max_elapsed_time,
    --a.last_elapsed_time as last_elapsed_time_microsec,
    --a.last_worker_time as last_worker_time_microsec,
    (a.last_worker_time/1000) as last_worker_time_millisecond,
    a.last_logical_reads,
    a.cached_time,
       a.last_execution_time
      -- a.last_elapsed_time as last_elapsed_time_microseconds ---Elapsed time, in microseconds, for the most recently completed execution of this stored procedure.
       --CONVERT(varchar, last_elapsed_time, 120)
       --((a.last_elapsed_time / 1000 )) as millie_seconds,
       --((a.last_elapsed_time % (1000*60*60)) % (1000*60)) / 1000 as seconds 
FROM   sys.dm_exec_procedure_stats a 
       INNER JOIN sys.objects b 
               ON a.object_id = b.object_id 
WHERE  Db_name(a.database_id) = '<your database name >' 
--and  name in('<procedure name>') --optional