簡體   English   中英

選擇查詢在SQL中的工作方式

[英]How select query works in SQL

我有一個選擇查詢,用於選擇流式傳輸的數據。 假設我運行查詢,數據計數為100; 在檢索數據時,會插入更多行,例如,再插入10行。 現在我的問題是:select將返回100或110行嗎?

這進入RDBMS環境中的隔離。 例如,在SQL Server中,如果我運行一個查詢,該查詢從一個表中選擇所有COMMITTED數據,並且當它有100行時,我將返回100行。 如果此表當前正在插入並且尚未提交那些新行,我仍將返回100行(假設該表未鎖定)。 我必須每次重新運行查詢。 結果集不僅會神奇地變大。 每次要返回數據時,都必須發出選擇。

現在,如果我選擇UNCOMMITTED數據並使用NOLOCK之類的方法,則每次運行select時,我都會返回尚未提交的記錄。 這意味着,每當我在表接收新記錄時運行select時,每次返回數據集時我都會看到這些新記錄。 這有助於查看最新的記錄,因為它們由於事務失敗或回滾而導致的臟讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM