Mécanisme de gestion de l'accès simultané aux données ou ressources partagées en accordant un accès temporairement exclusif aux processus demandant le verrouillage.
Supposons que j'ai un tableau foocontenant des statistiques calculées de temps en temps. Il est fortement utilisé par d'autres requêtes. C'est pourquoi je veux calculer des statistiques plus récentes foo_newet les échanger lorsque le calcul est prêt. je pourrais faire ALTER TABLE foo RENAME foo_tmp; ALTER TABLE foo_new RENAME foo; …
C'est assez simple, mais je suis déconcerté par ce que fait PG (v9.0). Nous commençons avec un tableau simple: CREATE TABLE test (id INT PRIMARY KEY); et quelques rangées: INSERT INTO TEST VALUES (1); INSERT INTO TEST VALUES (2); À l'aide de mon outil de requête JDBC préféré (ExecuteQuery), je …
Je suis un développeur de rapports qui souhaite rendre mes requêtes aussi efficaces que possible. Auparavant, je travaillais avec un administrateur de base de données qui me disait - je crois parce que je traitais toujours des rapports sur un serveur de production - que je pouvais utiliser NOLOCKdans chaque …
Quelle est la meilleure façon d'ajouter des colonnes à de grandes tables de production sur SQL Server 2008 R2? Selon les livres en ligne de Microsoft: Les modifications spécifiées dans ALTER TABLE sont implémentées immédiatement. Si les modifications nécessitent des modifications des lignes du tableau, ALTER TABLE met à jour …
Disons que vous avez le code suivant (veuillez ignorer que c'est affreux): 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 …
La procédure stockée sp_getapplock a les valeurs de retour suivantes: 0: le verrou a été accordé avec succès de manière synchrone. 1: Le verrou a été accordé avec succès après avoir attendu que d'autres verrous incompatibles soient libérés. -1: la demande de verrouillage a expiré. -2: La demande de verrouillage …
TL; DR: La question ci-dessous se résume à: lors de l'insertion d'une ligne, existe-t-il une fenêtre d'opportunité entre la génération d'une nouvelle Identityvaleur et le verrouillage de la clé de ligne correspondante dans l'index clusterisé, où un observateur externe pourrait voir un plus récent Identity valeur insérée par une transaction …
Avez-vous déjà dû justifier de NE PAS utiliser un indice de requête? Je vois WITH (NOLOCK)dans chaque requête unique qui frappe un serveur très occupé. C'est au point que les développeurs pensent que cela devrait être activé par défaut car ils détestent le voir dans leur code des milliers de …
Nous utilisons un logiciel de BI et une base de données de référentiel installés sur Oracle Enterprise 11gR2. Certains de ces rapports par lots tenteront d'accéder à une table de base de données qui peut toujours être verrouillée. Comment savoir si une table Oracle est verrouillée ou non? Existe-t-il une …
Nous tentons de mettre à jour / supprimer un grand nombre d'enregistrements dans une table de plusieurs milliards de lignes. Puisqu'il s'agit d'un tableau populaire, il y a beaucoup d'activité dans les différentes sections de ce tableau. Toute activité de mise à jour / suppression importante est bloquée pendant de …
J'ai essayé de trouver des informations sur le blocage dans SQL Server, mais je n'ai pas pu trouver une explication concise de ce que c'est et comment cela se produit. Pourriez-vous, s'il vous plaît, m'éclairer?
J'essaie de comprendre / apprendre à retrouver les détails d'une session bloquée. J'ai donc créé la configuration suivante: create table foo (id integer not null primary key, some_data varchar(20)); insert into foo values (1, 'foo'); commit; Maintenant, je me connecte deux fois à la base de données à partir de …
Dans une autre application, j'ai été frappé par une mauvaise conception: plusieurs threads exécutent une EnsureDatabaseSchemaExists()méthode simultanément, qui ressemble essentiellement à ceci: IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'MyTable') AND type = N'U') BEGIN CREATE TABLE MyTable ( ... ); END Cependant, même s'il est exécuté …
Supposons que j'ai la requête longue durée suivante UPDATE [Table1] SET [Col1] = 'some value' WHERE [Col2] -- some clause which selects thousands of rows et supposons que la requête suivante est exécutée pendant l'exécution de la requête ci-dessus SELECT * FROM [Table1] La première requête empêche-t-elle l'exécution de la …
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.