什么是mysql的游标_数据库中的游标到底是什么意思
數據庫中的游標到底是什么意思
關注:177??答案:2??mip版
解決時間 2021-01-15 20:54
提問者更無風月
2021-01-15 15:53
數據庫中的游標到底是什么意思
最佳答案
二級知識專家癡情菂尐豬豬
2021-01-15 16:47
游標用于按順序遍歷結果集。但一般情況下,應盡量避免使用游標。原因:1. 游標違背了關系模型,即按集合來考慮問題的思想;2. 游標逐行對紀錄進行操作,會帶來額外的開銷,使用游標的解決方案通常比使用集合的解決方案要慢得多;3. 使用游標的解決方案,需要用很多代碼來描述對游標的操作,因此代碼更長,可讀性更差,也更難以維護。
只有在少數情況下才應當使用游標。舉兩個例子:1. 需要遍歷表名,進行DDL操作;2. 連續聚合,此時基于游標的解決方案可能比基于集合的解決方案更快。
全部回答
1樓凊搽蒗囝
2021-01-15 18:27
你是指asp里面的數據庫連接組件里面所屬記錄集的游標吧?
如conn,1,1后面的參數什么的.
簡單說來:
conn,1,1為只讀數據;1,3為插入數據;2,3是修改數據
游標的意思形象的說一個表格里有許多行數據,我用鼠標指向某一行數據(在asp里面叫記錄集)你可以拖用鼠標指向下一行。在asp里面同樣也可以。不過要通過它:rs.movenext,記錄集往下移。
至于具體和理論知識如下:
游標類型
const adopenforwardonly = 0
前向游標,為缺省游標,提供最快的運行性能。用它打開recordset,從對至尾順序取得所有結果。它不支持向后滾動,只允許在結果間單向移動。
const adopenkeyset = 1
靜態游標,反映第一次打開游標時表中數據的狀態,游標無法查明底層表中的數據行是否更新過、刪除過或添加了新的數據。不過與只能前移的洲標不同,靜態游標可以在結果間前后滾動。
const adopendynamic = 2
鍵盤驅動的游標,可以查詢表中底層數據行的某些變化,但不是全部。它特別是可以準確反映數據是否更新過。但它不能查明其它用戶是否曾刪除過數據行(刪除掉的數據行在recordset中會留下空洞)。鍵盤驅動的游標支持在結果間前后滾動。
const adopenstatic = 3
動態游標,是最豐富的游標類型。游標打開時可以查詢其他用戶對表的任何改動,而且支持滾動。
加鎖類型
const adlockreadonly = 1
缺省的上鎖類型,只讀方式上鎖允許多個用戶同時讀取同樣的數據,但不能改變數據。
const adlockpessimistic = 2
以悲觀上鎖方式打開數據對象。該方式假定在你編輯記錄時會有其它用戶訪問數據。此時一旦你開始編輯記錄,其它用戶就不能訪問該數據。
const adlockoptimistic = 3
以樂觀上鎖方式打開數據對象。該方式假定在你編輯記錄時不會有其它用戶訪問數據。在完成改變之前,其它用戶不能訪問該記錄。
const adlockbatchoptimistic = 4
執行多行批處理更新時使用這種類型
我要舉報
如果感覺以上信息為低俗/不良/侵權的信息,可以點下面鏈接進行舉報,我們會做出相應處理,感謝你的支持!
點此我要舉報以上信息!
推薦資訊
大家都在看
總結
以上是生活随笔為你收集整理的什么是mysql的游标_数据库中的游标到底是什么意思的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: visual MySQL 教程_Visu
- 下一篇: 安卓加载mysql数据到列表里_Andr