Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
quel est le moyen d'effectuer un select * sur une table sans poser de verrou sur celle-ci.
Un peu l'équivalent with(nolock) sur sqlserver ?
Hors ligne
Ce n'est pas possible. Quel problème cherchez vous à résoudre ?
Que se passe-t-il sur sqlserver si quelqu'un supprime une table pendant que vous faites une lecture sans verrou sur celle ci ?
Julien.
https://rjuju.github.io/
Hors ligne
le problème du dirty read
Hors ligne
le with nolock de sql server, c'est pour éviter le verouillage des enregistrements lors du select (et surtout pouvoir lire des enregistrements qui sont verrouillés, et donc pourraient être en cours de mise à jour). PostgreSQL fonctionne un peu différemment là-dessus, cf https://www.postgresql.org/docs/current/mvcc-intro.html
Marc.
Hors ligne
le with nolock de sql server, c'est pour éviter le verouillage des enregistrements lors du select (et surtout pouvoir lire des enregistrements qui sont verrouillés, et donc pourraient être en cours de mise à jour). PostgreSQL fonctionne un peu différemment là-dessus, cf https://www.postgresql.org/docs/current/mvcc-intro.html
Bonjour et merci pour le retour.
J'avoue que je n'ai pas bien saisi cette partie :
The main advantage of using the MVCC model of concurrency control rather than locking is that in MVCC locks acquired for querying (reading) data do not conflict with locks acquired for writing data, and so reading never blocks writing and writing never blocks reading. PostgreSQL maintains this guarantee even when providing the strictest level of transaction isolation through the use of an innovative Serializable Snapshot Isolation (SSI) level.
Hors ligne
Pour faire simple, un SELECT ne bloquera pas et ne sera pas bloqué par un INSERT, ou un UPDATE, ou un DELETE.
Guillaume.
Hors ligne
Ça veut dire que sur un moteur MVCC, un SELECT ne va pas bloquer un INSERT/UPDATE/DELETE, et l'inverse non plus. Seuls deux ordres de modification de données peuvent entrer en conflit (et les alter table, lock table, etc… évidemment). Les moteurs non-MVCC résolvent le problème avec d'autres méthodes, comme le NOLOCK. C'est un compromis différent.
Marc.
Hors ligne
Merci Bien !
Hors ligne
Pages : 1