这一章主要讲SQL Server与系统间的一些知识,要想加深自己在调优方面的技能,这是必须要学习的,其实我看这章的时候心里很虚,感觉着就是在说自己的缺点一样,即使有这样的痛苦并且知道它的重要性,我并没有因为这样而去细读这一章,因为我知道要这不是一两天能学会的,只要有个印象就可以了,打算以后慢慢啃这一块吧,也希望自己不会不了了之。特此备忘一下。
也因为上面的原因,对这章谈不上什么心得,只是作为一些知识的记录和备忘。
【1】豁然开朗
说明:这一章一开篇就看到这个词了,很好的一个词,收录一下,呵呵。
【2】轮询(polling)
说明:其实这并不是数据库的专有名词,很多方面都会遇到这个名词,只是对一种设计中的描述啦。
【3】图2.1:SQL Server2005产品所包含的各组件
说明:这个图要铭记于心,不过有一点不明白,就是为什么IS是在核心中间呢?难道是说IS使用到DE、RS、AS各各组件?是一个各组件配合完成的?
看到一篇博文还不错:关于SQLServer2005的学习笔记(二)——体系结构(一)
【4】其中提到的复写(Replication)
说明:包括快照式复写、交易式复写、合并式复写,一直没有机会做这样的同步处理来维护一致性。
【5】图2.2:SQL Server 数据访问架构
说明:这个应该是这章的一个核心了,它很清晰的描述了一个应用程序访问的一个过程。
架构中分为客服端和服务器端;
TDS(Tabular Data Stream)表格式数据流,是一个联系客服端和服务器端的协议;
包括了关系型引擎(Relational Engine)和存储引擎(Storage Engine);
【6】一个很好的比喻
如果把数据库比作汽车,那么:SQL Server 就是自动拨的,Oracle就是手动档的。一个很恰当的比喻啊。
【7】当监视服务器执行性能时,注意是否有某项资源是长时间高使用率的,如果出现这样的现象,就应优先解决。
【8】尽量让数据库的文档不要和操作系统的交换文档放在同一颗实例硬盘中,以避免争硬盘的状况。
【9】交换文档(Swap File)
【10】里面讲到了一些计数器,只是粗略的讲了,并没有深入,这个也是我应该加深的知识内容。
【11】讲到了几个有用的SQL
DBCC Memorystatus
sys.dm_exec_cached_plans
sys.dm_os_memory_clerks
sys.dm_os_memory_object
sys.sysprocesses
sys.sysconfigures
sp_configure
【12】平行查询(Parallel Query)、平行扫描(Parallel Data Scan)
【13】一个不太明白的描述
“若某句SQL语句极耗资源,又不能平行合作,就会发生一颗CPU满载,其它CPU不动的情形,这个时候建议:重新规划程序逻辑、数据表的设计与数据分离方式、生成索引等设计面的改善。”
对于这句话,当什么时候才会出现:不能平行合作发生一颗CPU满载呢??
【14】铭记:“君子务本,本立而道生”,所以在进行SQL Server性能调校之前,首先要对SQL Server本身的架构及处理数据的程序具有相当程度的了解,这样才容易发现问题产生的原因及可能的应对方式。
【15】欢迎大家对“【3】【13】”给出意见。