Dela via


Samtidighetstyper

För att lösa problemet med minskad samtidighet i markörer exponerar ODBC fyra olika typer av samtidighet för markören:

  • Skrivskyddad Markören kan läsa data men kan inte uppdatera eller ta bort data. Det här är standardtypen för samtidighet. Även om DBMS kan låsa rader för att framtvinga nivåerna Repeterbar läsning och serialiserbar isolering, kan den använda läslås i stället för skrivlås. Detta resulterar i högre samtidighet eftersom andra transaktioner åtminstone kan läsa data.

  • Låsa Markören använder den lägsta låsningsnivån som krävs för att se till att den kan uppdatera eller ta bort rader i resultatuppsättningen. Detta resulterar vanligtvis i mycket låga samtidighetsnivåer, särskilt på nivåerna Repeterbar läs- och serialiserbar transaktionsisolering.

  • Optimistisk samtidighet med hjälp av radversioner och optimistisk samtidighet med hjälp av värden Markören använder optimistisk samtidighet: Den uppdaterar eller tar endast bort rader om de inte har ändrats sedan de senast lästes. För att identifiera ändringar jämförs radversioner eller värden. Det finns ingen garanti för att markören kan uppdatera eller ta bort en rad, men samtidigheten är mycket högre än när låsning används. Mer information finns i följande avsnitt Optimistisk samtidighet.

Ett program anger vilken typ av samtidighet som markören ska använda med SQL_ATTR_CONCURRENCY-instruktionsattributet. För att avgöra vilka typer som stöds anropas SQLGetInfo med alternativet SQL_SCROLL_CONCURRENCY.