A multilevel data locking mechanism is described. The mechanism determines
the cost of multiple granularities of locks for a query prior to
initiating a transaction. Locking selection is performed by a lock
manager, and is based on row, page and table granularities. An SQL server
provides access to a database comprising rows of data arranged in tables.
A table has multiple rows per page, and multiple pages per table.
Characteristics of the database schema and query are considered in
determining which granularity will result in the lowest cost. These
factors include the number of rows per page, the number of rows per index
scan, the isolation level per scan, an update factor which is related to
how long modified rows are held, the memory load on the system, the cost
of concurrency which is based on the number of rows per page and pages per
table, and the number of active scans currently on the table. The proper
granularity is determined at run time to ensure that the current state of
the system is considered.
Un meccanismo di bloccaggio multilivelli di dati è descritto. Il meccanismo determina il costo dei granularities multipli delle serrature per una domanda prima dell'inizio della transazione. Il bloccaggio della selezione è effettuato da un responsabile della serratura ed è basato sui granularities di fila, della pagina e della tabella. Un assistente di SQL fornisce l'accesso ad una base di dati che contiene le file i dati organizzati in tabelle. Una tabella ha le file multiple per la pagina e pagine multiple per la tabella. Le caratteristiche dello schema e della domanda della base di dati sono considerate nella determinazione quale granularity provocherà il basso costo. Questi fattori includono il numero di file per la pagina, il numero di file per l'esplorazione di indice, il livello per l'esplorazione, un fattore di isolamento dell'aggiornamento che è collegato con quanto tempo le file modificate sono tenute, il carico di memoria sul sistema, il costo di concorrenza che è basata sul numero di file per la pagina e le pagine per la tabella ed il numero di esplorazioni attive attualmente sulla tabella. Il granularity adeguato è determinato a tempo di esecuzione per accertarsi che la corrente dichiari del sistema sia considerata.