並行類型

若要解決資料指標中減少並行存取的問題,ODBC 會公開四種不同類型的資料指標並行存取:

  • 資料指標唯讀 資料指標可以讀取資料,但無法更新或刪除資料。 這是預設的並行存取模式。 雖然 DBMS 可能會鎖定資料列來強制執行可重複讀取和可序列化的隔離等級,但它可以使用讀取鎖定,而不是寫入鎖定。 這會導致較高的並行存取,因為其他交易至少可以讀取資料。

  • 鎖定 資料指標會使用所需的最低鎖定層級,以確保它可以更新或刪除結果集中的資料列。 這通常會導致非常低的並行存取層級,特別是在可重複讀取和可序列化的交易隔離等級。

  • 使用資料列版本的開放式同步存取,以及使用值的開放式同步存取 資料指標會使用開放式同步存取:只有在上次讀取資料列之後尚未變更時,才會更新或刪除資料列。 若要偵測變更,它會比較資料列版本或值。 不保證資料指標能夠更新或刪除資料列,但並行存取程度遠高於使用鎖定時。 如需詳細資訊,請參閱下一節開放式同步存取

應用程式會指定想要資料指標搭配 SQL_ATTR_CONCURRENCY 陳述式屬性使用的並行存取類型。 若要判斷支援的類型,它會使用 SQL_SCROLL_CONCURRENCY 選項呼叫 SQLGetInfo