Pour les questions sur les problèmes survenant lorsque plusieurs utilisateurs ou processus accèdent ou modifient simultanément des informations partagées dans un système de base de données.
J'ai une base de données Postgres qui contient des détails sur les clusters de serveurs, tels que le statut du serveur ('actif', 'en veille', etc.). Les serveurs actifs à tout moment peuvent avoir besoin de basculer en mode veille, et peu importe le type de veille utilisé. Je souhaite qu'une …
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 …
J'essaie d'écrire du code de base de données pour m'assurer qu'il n'est pas soumis aux conditions de concurrence, pour m'assurer que j'ai verrouillé les lignes ou les tables correctes. Mais je me demande souvent: mon code est-il correct? Est-il possible de forcer des conditions de concurrence existantes à se manifester? …
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 …
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 …
Disons que j'ai deux requêtes, exécutées en deux sessions distinctes dans SSMS: Première session: UPDATE Person SET Name='Jonny', Surname='Cage' WHERE Id=42 Deuxième session: SELECT Name, Surname FROM Person WITH(NOLOCK) WHERE Id > 30 Est-il possible que l' SELECTinstruction puisse lire une ligne semi-mise à jour, par exemple une avec Name …
J'ai des problèmes de concurrence avec mes insertions dans une procédure stockée. La partie pertinente de la procédure est la suivante: select @_id = Id from table1 where othervalue = @_othervalue IF( @_id IS NULL) BEGIN insert into table1 (othervalue) values (@_othervalue) select @_id = Id from table1 where othervalue …
Imaginez que votre exigence est que vous ayez 3 énormes tables (données structurées) avec disons 30 milliards de lignes dans chacune (taille totale de 4 To) et vos nombreux utilisateurs simultanés (qui sont des threads OS parallèles sur des machines LAN distantes) devront lire une partie de les données via …
J'ai une table qui contiendra environ 15 millions d'enregistrements. Maintenant, je dois ajouter un index à la table. L'ajout d'un index prendra un certain temps pour mettre à jour chaque entrée de la table. Je suis assez confus si l'ajout de l'index entraînera des temps d'arrêt. Si oui, comment puis-je …
J'ai deux tables. L'un est une table de journal; un autre contient essentiellement des codes de réduction qui ne peuvent être utilisés qu'une seule fois. L'utilisateur doit pouvoir échanger un coupon, qui insérera une ligne dans la table de journal et marquera le coupon comme utilisé (en mettant à jour …
Nous avons un processus qui génère un rapport d'inventaire. Côté client, le processus fractionne un nombre configurable de threads de travail pour créer un bloc de données pour le rapport qui correspond à un magasin sur plusieurs (potentiellement des milliers, généralement des dizaines). Chaque thread de travail appelle un service …
Comme nous le savons tous, READ UNCOMMITTED est le niveau d'isolement le plus bas dans lequel des choses comme les lectures sales et les lectures fantômes peuvent s'accumuler. Quel est le meilleur moment pour utiliser ce niveau d'isolement et pour quelles raisons pourrait-il être utilisé? En fait, j'ai lu les …
Quelle est la différence entre ces 2 requêtes: START TRANSACTION; SELECT * FROM orders WHERE id=1; UPDATE orders SET username='John' WHERE id=1; COMMIT; Et sans transaction: SELECT * FROM orders WHERE id=1; UPDATE orders SET username='John' WHERE id=1; Quel est l'effet d'avoir SELECTune transaction interne? Si a DELETE FROM orders …
http://www.postgresql.org/docs/9.2/static/transaction-iso.html Le mode de lecture répétable offre une garantie rigoureuse que chaque transaction voit une vue complètement stable de la base de données. Cependant, cette vue ne sera pas nécessairement toujours cohérente avec une exécution en série (une à la fois) de transactions simultanées du même niveau. Par exemple, même …
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.