IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Comment eviter Lock MySQL 5.0 avec un SELECT


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 183
    Points : 36
    Points
    36
    Par défaut Comment eviter Lock MySQL 5.0 avec un SELECT
    Hi!

    J'utilise MySQL 5.0 et j'aimerais savoir s'il est possible d'eviter qu'un LOCK se déclenche lorsque l'on fait un SELECT sur une table au format MyIsam assez volumineuse (genre + de 3 000 000 de lignes)

    Je m'explique ... on lance un SELECT ... il est long ... on lance un UPDATE sur cette même table ... il doit attendre que le SELECT soit fini pour derouler l'UPDATE

    MA question est : peut on eviter ce genre de problème ?

    Merci
    Julien

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 183
    Points : 36
    Points
    36
    Par défaut
    Personne n'a d'idée ???

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Points : 671
    Points
    671
    Par défaut
    en jouant sur le niveau d'isolation de la transaction SELECT.

    Par défaut elle doit être en Read Committed. Essaie avec du READ-UNCOMMITED.

    Tu dois pouvoir aussi lancer le serveur MYSQL avec l'option --transaction-isolation=...

    Je sais que ca fonctionne en INNODB par contre en MYISAM....

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 183
    Points : 36
    Points
    36
    Par défaut
    Merci pour ta réponse mais comment jouer sur le read uncommited ?
    De plus en MyISAM ... les transactions n'existent pas !

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Points : 671
    Points
    671
    Par défaut
    soit tu peux essayer sur le lancement du serveur mysqld en ajoutant l'option :--transaction-isolation=READ-UNCOMMITTED

    ou alors sur la transaction au tout début avant de lancer le SELECT:
    SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

    Mais c'est des instructions qui marchent sur InnoDB mais je ne sais pas sur MyISAM...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] comment déclarer des valeurs de variables avec jointure SELECT Mysql
    Par monlou dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/07/2010, 00h17
  2. Comment faire une sauvegarde de BD avec Mysql ?
    Par lenetfm dans le forum Bases de données
    Réponses: 0
    Dernier message: 11/07/2009, 21h45
  3. comment eviter des doublons sur une bd exel avec du vba
    Par INCO13 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/06/2008, 22h24
  4. Comment eviter l'erreur d'un nom composé de colonne avec espace?
    Par soror dans le forum Bases de données
    Réponses: 8
    Dernier message: 13/07/2007, 13h54
  5. comment établir une connection de VB avec MYSQL
    Par hhafid dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/08/2006, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo