告訴你使用SQL Server 2005的3個理由

來源:互聯網
上載者:User

  1:使用分區表來提高資料庫效能

  以前的處理大資料量時很多人會採取使用多個結構相同的表按時間段來分,不同時間的資料存在不同的資料表裡,這樣如果只查詢一個表的資料就很快,如果需要跨表查詢則再通過串連視圖將這些表連起來偽裝成一個表的樣子,這樣可以提高查詢效率,但犧牲了程式設計的優雅性和資料庫設計的簡單性,特別是在處理關係、約束、資料完整性時會非常的繁瑣複雜。

  升級到sql2005可以採用分區表(partition table)來處理這種需求,我們可以將我們的分區規則寫成分區函數,然後我們的分區表就可以按照這個分區函數來將我們的表格儲存體在不同的儲存介質上,當我們查詢時SQL Server最佳化程式會自動選擇分區做Join這樣當然要比大數量過濾起來有效多。

  2:通過Row_Number來給查詢結果集加個序號

  查詢結果集沒有序號鬱悶的問題相信折騰了不少人,每每有客戶指著我的Grid OR Report對我說“小莫,你能不能給這個地方加個序號?”對於這樣的合理要求只能說是,然後就將查詢來的結果手動的加個序號,對犧牲的效能也只好燒把高香祝福它能升上天堂,然後就是保佑著客戶查詢資料量不要太大。

  升級到SQL2005 我可以將序號這個功能預設給使用者不要他再給我提這樣的合理要求了。

  3:交叉表惡夢的結束

  如果你做過考勤管理,選擇建31個列還是添加31行?選擇31列直觀,但你查詢的時候你也許更喜歡你頭撞牆而不是來查詢,添加31行當你決定用列顯示日期的時候你發現你還是願意撞牆。還有當你做類似學產生績管理系統的時候你要將課程表中的課程資料做列學生表中的學生作行的時候這個時候你突然醒悟還是撞牆好些。

  升級到SQL Server2005你可以用Pivot這個單詞的意思就是“樞軸”有了軸你可以將行扭成列還可將列扭成行



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.