
Sql Server运行时候的缓存:
1数据缓存:执行个查询语句,Sql Server会将相关的数据页(Sql Server *** 作的数据都是以页为单位的)加载到内存中来, 下一次如果再次请求此页的数据的时候,就无需读取磁盘了,大大提高了速度。
2执行命令缓存:在执行存储过程,自定函数时,Sql Server需要先二进制编译再运行,编译后的结果也会缓存起来, 再次调用时就无需再次编译。
清除缓存的命令(直接执行第四个命令清除所有缓存):
DBCC FREEPROCCACHE --清除存储过程相关的缓存
DBCC FREESESSIONCACHE --会话缓存
DBCC FREESYSTEMCACHE('All') --系统缓存
DBCC DROPCLEANBUFFERS --所有缓存
注意:清除了缓存,不会释放SQL Server所占用的内存,所以需要通过修改SQL Server内存或重启SQL Server服务器来释放内存。
修改SQL Server内存:
优化:使用以下语句查找出什么语句占内存最高,针对占内存高的语句进行优化
SELECT SSSUM_EXECUTION_COUNT,
TTEXT,
SSSUM_TOTAL_ELAPSED_TIME AS '总和时间',
SSSUM_TOTAL_WORKER_TIME AS '执行耗时',
SSSUM_TOTAL_LOGICAL_READS AS '总和逻辑读数',
SSSUM_TOTAL_LOGICAL_WRITES AS '总和逻辑写'
FROM (SELECT SPLAN_HANDLE,
SUM(SEXECUTION_COUNT)SUM_EXECUTION_COUNT,
SUM(STOTAL_ELAPSED_TIME)SUM_TOTAL_ELAPSED_TIME,
SUM(STOTAL_WORKER_TIME)SUM_TOTAL_WORKER_TIME,
SUM(STOTAL_LOGICAL_READS)SUM_TOTAL_LOGICAL_READS,
SUM(STOTAL_LOGICAL_WRITES)SUM_TOTAL_LOGICAL_WRITES
FROM SYSDM_EXEC_QUERY_STATS S
GROUP BY SPLAN_HANDLE
) AS SS
CROSS APPLY SYSdm_exec_sql_text(SSPLAN_HANDLE)T
ORDER BY SUM_TOTAL_LOGICAL_READS DESC
转自: >答:服务器内存也内存与我们平常电脑城所见普通PC机内存外观和结构上没有明显实质性区别主要内存上引入了些新技术仅从外观上得出结论样或许担心了别人拿普通PC机内存条当服务器内存条卖给知道般来说放心种能性几乎零因普通PC机上内存服务器上般用服务器认说服务器内存能随便了贪便宜用普通PC机内存来替代原因了至于其根本原因请请看面了
有些人把具有某种技术内存称之服务器内存其实全面服务器些内存技术之所目前看来服务器专用能保证永远只能服务器专用些新技术之所先服务器上得应用因服务器价格较贵有条件得应用些新技术由于价格原因暂时普通PC机上无法实现应用些新技术会随着配件价格下降会逐步走向普通PC机象原来奇偶校正内存样原来也先应用服务器上现普遍了所服务器内存并种特指内存新技术同时间段上应用
问:奇偶校正(Parity)服务器内存上专用根据需求而定,每个程序占用的内存大小都不一样的,对于网站服务器而言,占用内存的多半是 web服务进程,数据库进程, 访问量越大,内存需求越大。 您可以关注服务器的内存使用率来决定服务器最终多大内存核合适。
--- 美国服务器,香港服务器,韩国服务器 - 云邦互联(>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)