关闭顶部展开顶部

解读SQL Server小知识:Processor Affinity_Mssql数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:看Sql server 2005 找出子表树
同事在准备新老系统的切换,清空一个表的时候往往发现这个表的主键被另一个表用做外键,而系统里有太多层次的引用.所以清起来相当麻烦 用下面这个脚本可以做到找出一个特定表的引用

SQL Server通常都运行在多处理器的服务器上,这一点在现在尤为普遍。原因是多内核的处理器越来越普及。那么,在多处理器环境下,Windows操作系统(事实上是从2000开始的)通常都会将进程任务放在一个队伍里面,然后让这些处理任务依次去占有处理器进行计算。

这样做的好处就是每个计算任务都可以获得近似于平均的处理资源,尽管无法保证一个处理任务每次都能拿到同一个处理器。这就像嘉年华我们重复排队参加一个刺激的项目(比如说自由落体,事实上我从来不参加这种项目),每个人上去一轮,并不能保证每次都能做同一张位置。

不过回到SQL Server上面来,SQL Server可不喜欢这样的处理机制。

大家可能都知道处理器中有个东西叫片内缓存,片内缓存有1级、2级、3级之分。

我们假设处理器要计算A、B、C三个任务,处理器先运算A任务,A任务还没有结束的时候它的游戏时间就结束了,因此处理器在接受B的时候会将计算B所需的数据加载到1级片内缓存中,而将A任务(我们假设处理器还没有完成它的计算任务)的数据挪到2级片内缓存中,或者3级。

当那个A任务回来的计算的时候,处理器会从2级片内缓存中恢复计算所需的数据,当然这要取决于是不是那些数据还在2级缓存中,因为有很多因素可以让它不在那儿,比如说A任务回来的时候发现接待它的已经不是原来那个处理器了,当然A任务就不能指望面前这个处理器有它的计算数据了(当然计算A任务回到同一颗处理器,也可能因为其他任务占用了这个处理器的2级片内缓存而导致它原来存入的数据被替换掉了)。

如果处理器发现A任务数据还在2级片内缓存中,操作系统就认为这次命中了2级缓存,如果不在了,就说这次没有命中2级缓存。因此我们可以知道操作系统是非常渴望每次都命中2级缓存的,因为这样就可以节省不少时间重新从内存中将数据加载到片内缓存中。

大多数操作系统要面对的任务都不会有太多的计算数据,因此这些任务不需要太多关心片内缓存的问题。同时多数低端的服务器也没有很大的片内缓存,因此它们也不太关心这个问题。不过对于运行在有较大片内缓存的服务器上的SQL Server来说,这个问题就要严肃一些了。

在中高端的PC服务器(为什么说是PC服务器呢,因为Windows现在还可以运行在一些厂商的小型机平台上,例如HP的SuperDome)中,通常单个处理器的片内缓存都在2M-4M,而且这些服务器可以拥有8个甚至更多一些的处理器,同时SQL Server的计算任务都是依赖于大量数据的,因此SQL Server的一个任务可不希望它重新拿回处理器的时候发现自己的数据不在了。

为了解决这个问题,SQL Server就有了这个处理器亲和度(Processor Affinity)的配置项,启用这个选项后,SQL Server中的任务就会记着自己原来在那个处理器上工作的,当它们再次有机会回到处理器工作的时候它们会认准回家的路——只用原来的那颗处理器。(事实上这个过程要复杂一些,有兴趣的朋友可以进一步了解SQL Server中调度这个概念)。

分享:解读动态SQL语句的编程
动态SQL语句中的参数,我们可以通过两种途径来为它赋值: 1. 利用参数编辑器(Parameter Editor)来为参数赋值 具体方法是:选中TQuery部件,单击鼠标右键,然后从中选择Define Pa

来源:模板无忧//所属分类:Mssql数据库教程/更新时间:2009-08-30
loading.. 评论加载中....
相关Mssql数据库教程
闂佹眹鍩勯崹閬嶆偤閺囶澁缍栭柛鈩冪⊕閳锋帗銇勯弴妤€浜惧銈忕秶閹凤拷
濠电偛顕慨顓㈠磻閹炬枼妲堥柡鍌濇硶婢ф稒淇婇懠顒夆偓婵嬫煟閵忊晛鐏查柟鍑ゆ嫹
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径瀣閻庣懓瀚竟鍡欐崲娑斾線鏌i姀鈺佺伈闁瑰嚖鎷�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径濠勵吋闂佽鍨庨崟顓фК闂佽閰eḿ褍螞濞戙垺鍋夐柨鐕傛嫹
闂備胶枪缁绘劙骞婃惔銊ョ劦妞ゆ帒鍊哥敮鍫曞箹鐎涙ḿ鐭掔€规洘绻堥弫鎾绘晸閿燂拷
闂備胶枪缁绘劙骞婃惔銊ョ劦妞ゆ巻鍋撻柛姘儑缁﹪鏁傞崜褏鐓撻柣搴岛閺呮繈鎯屽▎鎴犵=濞撴艾锕ョ€氾拷
闂備浇銆€閸嬫挻銇勯弽銊р槈闁伙富鍣i弻娑樷攽閹邦亞鑳虹紓浣靛妽濡炶棄顕i妸鈺婃晬婵炲棙鍨电粭锟犳⒑閸濆嫬鈧骞婇幘鑸殿潟闁跨噦鎷�
闂備礁鎼崯鐗堟叏妞嬪海绀婂鑸靛姈閻擄綁鎮规潪鎷岊劅婵炲眰鍊曢湁闁挎繂妫欑粈鈧梺鍛娚戦悧鐘茬暦閹扮増鏅搁柨鐕傛嫹
婵犵妲呴崹顏堝礈濠靛棭鐔嗘俊顖氬悑鐎氱粯銇勯幘瀵哥畺閻庢熬鎷�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓奸崶銊ヮ伕濡炪倖鎸荤换鍐偓姘虫珪娣囧﹪顢涘Δ鈧晶鍙夌節椤喗瀚�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎规洦鍓熼、娆撳礂閻撳簶鍋撻悽鍛婄厸闁割偅绻勫瓭婵犳鍣幏锟�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾闁哄苯鎳橀崺鈧い鎺嗗亾闁宠閰i獮鎴﹀箛闂堟稒顔嗛梻浣告惈鐎氭悂骞忛敓锟�
婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎规洩缍侀獮瀣攽閸偂绱�
濠电姷顣介埀顒€鍟块埀顒勵棑缁辩偛顓兼径濠勭厬闂佺懓鐡ㄧ换鍕敂鐎涙ü绻嗘い鏍殔婢у弶绻濋~顔藉
闂佽楠搁崢婊堝礈濠靛鍋嬮柟鎯版閻鈹戦悩鎻掓殭闁奸潧缍婇弻銈夋嚍閵夈儱顫嶉梺缁樼壄缂嶄礁鐣峰▎鎾存櫢闁跨噦鎷�
UB闂備礁婀辩划顖炲礉濡ゅ懐宓侀柛銉㈡櫆鐎氭岸鎮楀☉娅虫垿锝為敓锟�
闂備浇澹堟ご绋款潖婵犳碍鐒鹃悗鐢电《閸嬫捇鐛崹顔句痪濠电姭鍋撻柨鐕傛嫹
闂佽楠哥粻宥夊垂閸濆嫸鑰块柛銏㈠殰
闂備礁鎲″缁樻叏妞嬪海绀婂璺虹灱閸楁碍绻涢崱妤€顒㈤柛鐐差槹缁绘稓绱欓悩鍝勫帯闂佺ǹ楠忛幏锟�
缂傚倸鍊烽悞锕傛偡閿曞倸鍨傛繝濠傚椤╅攱銇勯幒宥囶槮缂佹彃婀遍埀顒傚仯閸婃繄绱撳棰濇晩闁跨噦鎷�
©2017 www.mb5u.com婵犵妲呴崹顏堝礈濠靛棭鐔嗘慨妞诲亾鐎殿噮鍣i幃鈺呭箵閹烘挸鐦�
闂備浇銆€閸嬫捇鏌熼婊冾暭妞ゃ儻鎷�&闂備礁鎲$敮鎺懳涢弮鍫燁棅闁跨噦鎷�