程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> T-SQL查詢進階-:快速理解游標

T-SQL查詢進階-:快速理解游標

編輯:關於SqlServer

概述

游標是邪惡的!

在關系數據庫中,我們對於查詢的思考是面向集合的。而游標打破了這一規則,游標使得我們思考方式變為逐行進行.對於類C的開發人員來著,這樣的思考方式會更加舒服。

正常面向集合的思維方式是:

而對於游標來說:

這也是為什麼游標是邪惡的,它會使開發人員變懶,懶得去想用面向集合的查詢方式實現某些功能.

同樣的,在性能上,游標會吃更多的內存,減少可用的並發,占用寬帶,鎖定資源,當然還有更多的代碼量……

從游標對數據庫的讀取方式來說,不難看出游標為什麼占用更多的資源,打個比方:

當你從ATM取錢的時候,是一次取1000效率更高呢,還是取10次100?

既然游標這麼“邪惡”,為什麼還要學習游標

我個人認為存在既是合理.歸結來說,學習游標原因我歸納為以下2點

1.現存系統有一些游標,我們查詢必須通過游標來實現

2.作為一個備用方式,當我們窮盡了while循環,子查詢,臨時表,表變量,自建函數或其他方式扔來無法實現某些查詢的時候,使用游標實現.

T-SQL中游標的生命周期以及實現

在T-SQL中,游標的生命周期由5部分組成

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved