如何检查SQL Server 内存瓶颈
DBCC memorystatus
--查询缓冲区池消耗的内存总量包括AWE
SELECT
SUM(multi_pages_kb+virtual_memory_committed_kb+shared_memory_committed_kb+
awe_allocated_kb) AS [Used by BPool, kb]
from sys.dm_os_memory_clerks WHERE type='MEMORYCLERK_SQLBUFFERPOOL'
--确认那些内部组建窃取了缓冲区池中的大部分的页面
SELECT TOP 10 type, SUM(single_pages_kb) AS stolen_mem_kb
from sys.dm_os_memory_clerks
GROUP BY type ORDER BY SUM(single_pages_kb) DESC
--确认在缓冲区池外分配了内存的内部组建
SELECT type, SUM(multi_pages_kb) AS memory_allocated_kb
from sys.dm_os_memory_clerks
WHERE multi_pages_kb!=0
GROUP BY type
相关文档:
从2000开始就是MS SQL家的忠实用户了,2000的时候我是从一本2000宝典开始入门的,从2000到2005经历了很长时间,很多的用户至今还死死的守着2000,如果不是工程要求,估计我也不会主动换到2005,然而眼睛一眨,2008又出来了,哀叹,2005的功能我都没有摸透呢。
2008与2005的对比
1.慢,什么都慢,从恢复数据库,到导入数据 ......
ORACLE中字段的数据类型
字符型 char 范围 最大2000个字节 定长
char(10) '张三' 后添空格6个把10个字节补满 '张三 &nb ......
1.SQL并行查询
alter session enable parallel dml execute immediate 'alter session enable parallel dml'; --修改会话并行DML select /*+parallel(a,4)*/ * from table_name a select /*+parallel(a,8)*/ * from table_name a ......
首先创建测试表、添加数据。
create table #t(a int,b int,c int,d int,e int)
insert into #t values(1,2,3,4,5)
insert into #t values(1,2,3,4,6)
insert into #t values(1,2,3,4,7)
insert into #t values(1,2,3 ......