麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

ADO 光 標 基 礎 (2)  

2019-11-18 22:13:58
字體:
來源:轉載
供稿:網友
在光標基礎(1)中,主要講述了什么是光標,什么是服務器光標,什么是客戶光標。我們還把光標比作手,它的作用就是定位某條記錄。

光標沒有手那樣靈活,而且要復雜的多。根據不同的需要,光標被劃分為靜態光標( Static ),鍵集光標( KeySet),動態光標( Dynamic ),前向光標( Forward-only )。在文章最后還要介紹有關默認結果集的概念。

1. 靜態光標

靜態光標為查詢結果生成一個臨時的拷貝并存儲在 tempdb 中,你對結果集的所有操作,其實質是在一個私有的,臨時的數據拷貝上進行的,這個結果集的成員是固定的,別人對基表所作的任何修改都不會實時的反映出來。

采用靜態光標在服務器中創建臨時表是要付出代價的。我們知道 tempdb 經常用于復雜的數據檢索,如果結果集太大就會影響數據查詢的效率。

2. 鍵集光標

與靜態光標不同的就是鍵集光標只在 tempdb 中存儲唯一標識結果集各行的關鍵值 -- 鍵集(比如:索引)。

假設我們要查詢這樣的語句 "SELECT Cust_name FROM customers WHERE cust_id > 100",假定用戶101,200,300符合查詢條件。此后,每一次提取操作都會使用這些鍵值。換句話就是說,以后的 .Movenext 操作使服務器重新以鍵集為基礎進行查找,即:"SELECT Cust_name FROM customers WHERE cust_id IN(101,200,300)"。即使其他人輸入了用戶400,它也不會出現在結果集中。而基于鍵集所作的修改是可以看到的。

對于鍵集光標,要求該光標用到的表都應有一個唯一索引,如果不滿足這個條件,該光標會轉換成靜態光標。

3. 動態光標

在這種光標中,SELECT 語句在每次提取記錄時都要執行一次。與鍵集光標不同,它執行的是原 SELECT 語句,即:"SELECT Cust_name FROM customers WHERE cust_id > 100"。這就意味著動態光標的成員是不固定的,你在光標內所作的修改,或者其他人所作的修改,都會在下一次提取時反映出來。

說句題外話,有好多人問:為什么RecordSet.RecordCount 返回 -1?(-1 代表不知道有多少條記錄,)其實好好想一下,不難得出結論。靜態光標和鍵集光標的成員是固定的,自然可以知道到底有多少條記錄,而動態光標卻相反,它不可能返回一個隨時變化的值。

4. 前向光標

顧名思義,只向前滾動的光標。這是 ADO 的缺省光標,通常從頭到尾進行數據處理,即只沿著一個方向,所以每一行不會被重新提取。前向光標是最快的光標。

5. 默認的結果集

默認結果集就是那些未以光標形式返回的結果集。

它的另一個名稱是 'firehose' ,這個詞更形象的反映了默認結果集的工作方式:只要客戶端不斷的處理返回的記錄,使網絡緩沖區有空間發送更多的結果,那么服務器就會向客戶端繼續發出記錄。客戶端不向服務器發出請求,服務器僅是不斷的向網絡發送數據。

盡管我們把默認結果集看作是前向 / 只讀的光標,但這僅僅是一種稱呼,它確實同真正的光標不一樣。我們可以使用光標這個詞,但應明確:從 SQL Server 的角度來看,默認結果集不是一個光標,它不涉及服務器的光標服務。

默認結果集的效率通常比光標高。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美aⅴ视频 | 国产精品视频一区二区三区综合 | 精品在线观看一区二区三区 | 欧美高清一级片 | 久久精品视频1 | 国产欧美在线一区二区三区 | 久久毛片 | 久久超 | 欧洲精品久久久久69精品 | 亚洲精品欧美在线 | 久久精品视频首页 | 老子午夜影院 | 国产91对白叫床清晰播放 | 看免费毛片| 色999中文字幕 | 91网视频| xxxxhd86日本护士hd| 最近日本电影hd免费观看 | 久久国语对白 | 免费在线观看亚洲 | 国产午夜网 | 在线播放免费播放av片 | 国产麻豆交换夫妇 | 国产羞羞视频在线观看免费应用 | 久久99精品久久久久久秒播放器 | av在线免费观看网址 | 日本不卡中文字幕 | 黄色大片高清 | 成年人黄色免费网站 | 免费毛片小视频 | 午夜久久视频 | 免费人成在线播放 | 国产免费一区二区三区最新不卡 | 色综合视频网 | 欧美a级在线免费观看 | 草莓福利社区在线 | 丰满年轻岳中文字幕一区二区 | 视频一区二区在线播放 | 精品国产91久久久久久久妲己 | 羞羞的视频在线免费观看 | 久久久久久久爱 |