官术网_书友最值得收藏!

越接觸本質,越不會迷茫

迄今為止,我寫了16年的程序,接觸了12年的數據庫,最近10年主要研究微軟SQL Server的各個版本。2005、2006年,我還沒有加入微軟,作為一個ISV,我經常向海蔚提問:我的某個表,數據量超過50萬行了,SQL Server能應付嗎?我用ASP.NET搭建了一個ERP系統,有200人要用,SQL Server能應付嗎?某某數據庫能分區,SQL能做到嗎?

當時問的得意,問得比較拽。也許做技術的人就是這樣(至少我當時是這個德性):只要覺得自己比別人做得好,有了談資,就會有一種想“秒殺掉”別人的、可笑的自豪感。只要我發現某某數據庫比SQL Server強大,就借此刁難微軟資深的SQL Server工程師。他們經常被我糾結得無語。

慢慢地與海蔚接觸時間長了,我的看法發生了改變,(這不是短暫吸收技術后的反思,而是一種思考方向的轉折。)到微軟工作后,我處理過SQL Server 2005標準版上每個月增加1000萬條記錄的SQL單表,處理過SQL Server 2000上6億5千萬條的單表,我同事處理過SQL Server 2005上14TB的數據庫。回想起自己當初那些傲慢的問題,真有些不好意思。

在微軟的工作經歷,讓我認識到:

● 性能好壞,需要精確的數字。你看過Logical I/O Reads & Writes嗎?你看過執行計劃嗎?你分析過為什么SQL要執行這個Scan,而不是Seek嗎?你分析過Disk Queue的影響嗎?你看過Pool paged bytes的大小嗎?一句話,微軟的工程師要看證據,一切要用數字說話。

● 性能調優的門檻不高,但是需要仔細研究。分析性能問題,第一步需要作什么,第二步作什么?我好久后才有感覺。萬物萬事萬法,都是有規則的。窗戶紙很薄,捅破了就是新世界。

● 文檔太多,無所適從。如果你Bing(必應)“數據庫索引優化”,會搜出不下100條教條,但是誰會全部記住?如果不理解Heap table和Clustered Table,不了解B-Tree和Seek/Scan,不了解Statistics和Check Point,那些所謂的教條,有何意義?

在海蔚的這本書里面,沒有教條。有的只是讓你了解本質、觸類旁通、一法破萬法的、來自微軟全球技術中心(GTEC)全體SQL Server工程師的經驗匯集,來自于海蔚的積累和升華。對于迷茫的讀者而言,這是讓你捅破窗戶紙,看遍窗含西嶺千秋雪的經典之作。

如果書中有兩三句話讓你頓悟,希望你把這份讀書人的感動,及時地反饋給海蔚同學。

從文字的角度講,字字珠璣。從學習的角度講,我只想說:不存在教條!你越接觸本質,越不會迷茫!這也許是眾多讀者從本書中獲得經驗的唯一途徑。

鞠強

微軟企業現場服務部資深工程師

2010年1月

主站蜘蛛池模板: 永城市| 桐乡市| 东兰县| 葵青区| 郧西县| 兰坪| 武川县| 缙云县| 宁乡县| 仁布县| 随州市| 吉隆县| 南召县| 西充县| 芷江| 江安县| 德清县| 正定县| 夏河县| 城口县| 西乌| 班戈县| 珲春市| 金坛市| 杭锦后旗| 枞阳县| 台东县| 衡阳县| 桐城市| 花垣县| 百色市| 鹰潭市| 江口县| 富川| 建阳市| 遵义县| 东台市| 皮山县| 塔河县| 桃源县| 保山市|