Un meccanismo per la gestione dell'accesso simultaneo a dati o risorse condivisi garantendo un accesso temporaneo esclusivo ai processi che richiedono il blocco.
Supponiamo, ho una tabella foo, che contiene alcune statistiche che vengono calcolate ogni tanto. È ampiamente utilizzato da altre query. Ecco perché voglio calcolare le statistiche più recenti foo_newe scambiarle quando il calcolo è pronto. Potrei fare ALTER TABLE foo RENAME foo_tmp; ALTER TABLE foo_new RENAME foo; ma cosa succede …
Questo è piuttosto semplice, ma sono sconcertato da ciò che fa PG (v9.0). Iniziamo con una semplice tabella: CREATE TABLE test (id INT PRIMARY KEY); e alcune righe: INSERT INTO TEST VALUES (1); INSERT INTO TEST VALUES (2); Usando il mio strumento di query JDBC preferito (ExecuteQuery), collego due finestre …
Sono uno sviluppatore di report che desidera rendere le mie query il più efficienti possibile. Lavoravo con un DBA che mi diceva - credo perché mi occupavo sempre di report su un server di produzione - da utilizzare NOLOCKin ogni singola query. Ora lavoro con un DBA che ha vietato …
Qual è il modo migliore per aggiungere colonne a tabelle di produzione di grandi dimensioni su SQL Server 2008 R2? Secondo i libri di Microsoft online: Le modifiche specificate in ALTER TABLE vengono implementate immediatamente. Se le modifiche richiedono modifiche delle righe nella tabella, ALTER TABLE aggiorna le righe. ALTER …
Supponiamo che tu abbia il seguente codice (ignora che è terribile): BEGIN TRAN; DECLARE @id int SELECT @id = id + 1 FROM TableA; UPDATE TableA SET id = @id; --TableA must have only one row, apparently! COMMIT TRAN; -- @id is returned to the client or used somewhere else …
La procedura memorizzata sp_getapplock ha i seguenti valori restituiti: 0: il blocco è stato concesso correttamente in modo sincrono. 1: il blocco è stato concesso correttamente dopo aver atteso il rilascio di altri blocchi incompatibili. -1: la richiesta di blocco è scaduta. -2: la richiesta di blocco è stata annullata. …
TL; DR: La domanda che segue si riduce a: Quando si inserisce una riga, esiste una finestra di opportunità tra la generazione di un nuovo Identityvalore e il blocco della chiave di riga corrispondente nell'indice cluster, in cui un osservatore esterno potrebbe vedere un nuovo Identity valore inserito da una …
Hai mai dovuto giustificare di NON utilizzare un suggerimento per le query? Sto vedendo WITH (NOLOCK)in ogni singola query che colpisce un server molto occupato. È al punto che gli sviluppatori pensano che dovrebbe essere attivo per impostazione predefinita perché odiano vederlo nel loro codice migliaia di volte. Ho cercato …
Abbiamo utilizzato il software BI e un database di repository installati su Oracle Enterprise 11gR2. Alcuni di questi rapporti batch tenteranno di accedere a una tabella del database che potrebbe essere ancora bloccata. Come posso sapere se una tabella Oracle è bloccata o no? Esiste un'istruzione SQL che visualizza i …
Stiamo tentando di aggiornare / eliminare un numero elevato di record in una tabella con più miliardi di righe. Poiché questa è una tabella popolare, c'è molta attività in diverse sezioni di questa tabella. Qualsiasi attività di aggiornamento / eliminazione di grandi dimensioni viene bloccata per lunghi periodi di tempo …
Ho provato a trovare alcune informazioni sul blocco in SQL Server, ma non sono riuscito a trovare una spiegazione concisa su cosa sia e come accada. Potresti per favore illuminarmi?
Sto cercando di capire / imparare a rintracciare i dettagli di una sessione bloccata. Quindi ho creato la seguente configurazione: create table foo (id integer not null primary key, some_data varchar(20)); insert into foo values (1, 'foo'); commit; Ora mi collego al database due volte da due client diversi. I …
In un'altra applicazione sono stato colpito da una cattiva progettazione: più thread eseguono un EnsureDatabaseSchemaExists()metodo contemporaneamente, che assomiglia sostanzialmente a questo: IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'MyTable') AND type = N'U') BEGIN CREATE TABLE MyTable ( ... ); END Tuttavia, anche se eseguito in una …
Supponiamo di avere la seguente query di lunga durata UPDATE [Table1] SET [Col1] = 'some value' WHERE [Col2] -- some clause which selects thousands of rows e supponiamo che la seguente query venga eseguita mentre la query sopra è in esecuzione SELECT * FROM [Table1] La prima query impedisce l'esecuzione …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.