Ca existe la notion de transaction en Mysql ?
11 messages
• Page 1 sur 1
-

Zecat - WRInaute accro

- Messages: 11994
- Inscription: 1 Mar 2005
Ca existe la notion de transaction en Mysql ?
Bon Mysql c'est Rank0.5 donc faut me causer avec des mots simples
Question : est ce que la notion de transaction (ou controll on/off dans d'autres langages) existe en Mysql.
Z'explique : J'ai une serie d'opérations à faire (par exemple modifier 3 fiches) et je ne veux pas qu'un autre utilisateur intervienne durant le laps de temps ou je bosse sur ces 3 fiches, me semant un joyeux boxon ... Bien evidemment, le travail "dans transaction" sur ces 3 fiches est limité au strict minimum (tout ets préparé en amont) et donc ca durera un pouieme de pouieme de seconde mais le risque existe quand même ... surtout si 3 devient 6 10 ou 20 ...
Donc y a t il une commande mysql pour lui dire :
MODE la tu bosse que pour moi
action1
action2
action 3
MODE je refile la ressource aux copains
Bref je veux avoir l'assurance que mes 3 actions se feront à la suite sans qu'une autre action soit executée par un autre user ...
PS : Mes 3 actions ne concernent qu'un table et donc je peux limiter mon mode "tout pour moi" à la table concernée ... Ca existe ce genre biniou en Mysql ?
Question : est ce que la notion de transaction (ou controll on/off dans d'autres langages) existe en Mysql.
Z'explique : J'ai une serie d'opérations à faire (par exemple modifier 3 fiches) et je ne veux pas qu'un autre utilisateur intervienne durant le laps de temps ou je bosse sur ces 3 fiches, me semant un joyeux boxon ... Bien evidemment, le travail "dans transaction" sur ces 3 fiches est limité au strict minimum (tout ets préparé en amont) et donc ca durera un pouieme de pouieme de seconde mais le risque existe quand même ... surtout si 3 devient 6 10 ou 20 ...
Donc y a t il une commande mysql pour lui dire :
MODE la tu bosse que pour moi
action1
action2
action 3
MODE je refile la ressource aux copains
Bref je veux avoir l'assurance que mes 3 actions se feront à la suite sans qu'une autre action soit executée par un autre user ...
PS : Mes 3 actions ne concernent qu'un table et donc je peux limiter mon mode "tout pour moi" à la table concernée ... Ca existe ce genre biniou en Mysql ?
-

UsagiYojimbo - WRInaute accro

- Messages: 8575
- Inscription: 23 Nov 2005
Re: Ca existe la notion de transaction en Mysql ?
Yup, ça existe : http://dev.mysql.com/doc/refman/5.0/fr/commit.html
-

UsagiYojimbo - WRInaute accro

- Messages: 8575
- Inscription: 23 Nov 2005
Re: Ca existe la notion de transaction en Mysql ?
Euh... c'est en français Zecat 
-

bgdc - WRInaute impliqué

- Messages: 723
- Inscription: 23 Mai 2005
Re: Ca existe la notion de transaction en Mysql ?
Je crois que tu peux aussi "locker" la table pendant que tu bosses dessus :
http://dev.mysql.com/doc/refman/5.0/fr/lock-tables.html
http://dev.mysql.com/doc/refman/5.0/fr/lock-tables.html
-

Zecat - WRInaute accro

- Messages: 11994
- Inscription: 1 Mar 2005
Re: Ca existe la notion de transaction en Mysql ?
UsagiYojimbo a écrit:Euh... c'est en français Zecat
c'est quoi ce bins ?
EDit : explication ... en fait tout a l'heure, j'étais a la bourre (on m'appelait) et du coup j'ai juste jeté un oeil sur le titre et vu surement en diagonal l exemple en anglais puis j'ai fermé la page ...
Dernière édition par Zecat le Lun Avr 18, 2011 21:34, édité 2 fois.
-

Zecat - WRInaute accro

- Messages: 11994
- Inscription: 1 Mar 2005
Re: Ca existe la notion de transaction en Mysql ?
bgdc a écrit:Je crois que tu peux aussi "locker" la table pendant que tu bosses dessus :
http://dev.mysql.com/doc/refman/5.0/fr/lock-tables.html
Oui ca me semble encore plus adapté à mon cas ... c'est marrant parce que l'on retrouve le meme "contexte accélérateur" que dans les gestion de transaction sur d'autres langages (pour des raisons similaires). Bon ne pas en abuser ...
- Dolph
- WRInaute impliqué

- Messages: 631
- Inscription: 1 Mar 2011
Re: Ca existe la notion de transaction en Mysql ?
Zecat a écrit:Bref je veux avoir l'assurance que mes 3 actions se feront à la suite sans qu'une autre action soit executée par un autre user ...
Dons, faut aussi gérer un cache temporaire si ces users peuvent enregistrer des données dans tes tables.
Parce que si tu lock les table lorsqu'un select arrive, c'est pas bien grave. Si c'est un insert, le user risque de faire la tronche en voyant que ce qu'il a fait est perdu.
-

Blount - WRInaute occasionnel

- Messages: 430
- Inscription: 18 Nov 2010
Re: Ca existe la notion de transaction en Mysql ?
Dolph a écrit:Zecat a écrit:Bref je veux avoir l'assurance que mes 3 actions se feront à la suite sans qu'une autre action soit executée par un autre user ...
Dons, faut aussi gérer un cache temporaire si ces users peuvent enregistrer des données dans tes tables.
Parce que si tu lock les table lorsqu'un select arrive, c'est pas bien grave. Si c'est un insert, le user risque de faire la tronche en voyant que ce qu'il a fait est perdu.
Pas du tout.
Un lock met en attente les autres requêtes mais ne les annule certainement pas, ce serait débile.
Le risque est de se retrouver avec un blocage trop long. Si les users attendent tous derrière …
-

Zecat - WRInaute accro

- Messages: 11994
- Inscription: 1 Mar 2005
Re: Ca existe la notion de transaction en Mysql ?
Oui c'est le principe meme des transactions ... telle que je les ai pratiquées depuis des années
1 - ca verrouille le temps de finir un lot de travail
2 - ca accélère puisque dans ce contexte le systeme fait l impasse sur des vérif inutiles (puisque justement en transaction)
3 - Faut optimiser pour ne laisser "en transaction" que le minimum syndical en préparant avant tout ce qui peut l'etre
4 - faut pas en abuser sinon le coté "j'acélère" est annulé par le coté "je crée des blocages en file d'attente (de type FIFO)"
Voila ma lecture de la chose
1 - ca verrouille le temps de finir un lot de travail
2 - ca accélère puisque dans ce contexte le systeme fait l impasse sur des vérif inutiles (puisque justement en transaction)
3 - Faut optimiser pour ne laisser "en transaction" que le minimum syndical en préparant avant tout ce qui peut l'etre
4 - faut pas en abuser sinon le coté "j'acélère" est annulé par le coté "je crée des blocages en file d'attente (de type FIFO)"
Voila ma lecture de la chose
11 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- La notion de Trigger ... ca existe dans mysql ?
- [MYSQL] Existe-t-il un critère CONTIENT
- MYSQL - recherche par tableau ? ca existe
- [MySQL] tester si une table existe déjà
- Transaction paypal
- transaction-credit-agricole
- e-transaction crédit agricole
- Notion d'environ !
- Notion mal compris
- Paiement en ligne - transaction différée
- Détection de pages dupliquées
Cet outil vous permet de calculer la similarité entre 2 pages web. L'algorithme utilisé repose sur l'analyse des occurrences des mots (mais pas sur leur positionnement dans les pages). Google utilise cette notion à certains endroits dans son algorithme, mais de façon bien plus évoluée que ce petit outil... Avoir des pages trop similaires peut entraîner des problèmes d'indexation... Cet outil vous permettra peut-être de résoudre certains problèmes de contenus dupliqués.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
