我的一个网站很慢,我刚看到数据库日志文件(ldf)大小太大了20GB左右,甚至mdf文件大小也只有9GB。网站上有很大的影响力吗?
假设,我使用SHRINKFILE命令,那么网站性能会更好或没有。
答案 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