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

SQL Procédural MySQL Discussion :

[Débutante] Stockage images et vidéos : MyISAM ou InnoDB


Sujet :

SQL Procédural MySQL

  1. #1
    Membre confirmé Avatar de ultracoxy
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 116
    Par défaut [Débutante] Stockage images et vidéos : MyISAM ou InnoDB
    Bonjour à tous,

    Actuellement, je réalise une application en Java J2ee en utilisant une BDD MySQL. Je connais MySQL en surface mais j'ai besoin de savoir deux ou trois choses que la "littérature" que j'ai trouvé sur le web ne m'a pas aidé à trancher :

    Mon application demandera à stocker beaucoup d'éléments (images, courtes videos) et d'avoir de nombreux utilisateurs. Tout d'abord, dois-je plutôt me tourner vers un stockage de type MyIsam ou innoDb ?

    D'après ce que j'ai lu, une solution InnoDb est la plus envisageable...

    Merci de votre aide !

    Sinon 2 ou 3 petites questions :

    Dans la FAQ, à la question "Que mettre comme valeur lors d'un INSERT ou d'un UPDATE sur un champ autoincrémenté ?", on répond rien. Mais lorsque je fais une requête d'insert, je suis bien obligée de mettre quelquechose sous peine de déclencher un exception SQL --> Quoi mettre ?

    Autre question de la FAQ : "Comment récupérer la dernière valeur d'un champ autoincrémenté ?", réponse : la fonction SQL LAST_INSERT_ID(). Comment s'en sert on ? En faisant une requête sql pour la récupérer ?

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 89
    Par défaut
    Salut,
    Un article bien sympathique décrivant innodb:
    http://qwix.media-box.net/index.php/...sAvezDitInnoDb
    Clair , net, précis.
    Personnellement j'ai apprécié.
    En espérant que cela t'aide.

    Nico

  3. #3
    Membre éclairé Avatar de luggerhouse
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2006
    Messages : 62
    Par défaut
    Citation Envoyé par ultracoxy
    Dans la FAQ, à la question "Que mettre comme valeur lors d'un INSERT ou d'un UPDATE sur un champ autoincrémenté ?", on répond rien. Mais lorsque je fais une requête d'insert, je suis bien obligée de mettre quelquechose sous peine de déclencher un exception SQL --> Quoi mettre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into mytable values=('','test');
    La premiere valeur étant le champs auto incrémenté
    Autre question de la FAQ : "Comment récupérer la dernière valeur d'un champ autoincrémenté ?", réponse : la fonction SQL LAST_INSERT_ID(). Comment s'en sert on ? En faisant une requête sql pour la récupérer ?
    En php cette méthode retourne l'id de la denière insertion donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $myvar=SQL LAST_INSERT_ID();
    echo $myvar; //le dernier id
    Espérant avoir donné des pistes ;-)

  4. #4
    Membre confirmé Avatar de ultracoxy
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 116
    Par défaut
    Merci, très clair en effet !

    Sinon, juste une toute pitite question venant s'ajouter à la liste précédente : comment puis je définir une valeur de départ d'un champ auto-incrémenté pour une table InnoDb ?

  5. #5
    Membre confirmé Avatar de ultracoxy
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 116
    Par défaut
    Merci aussi d'avoir éclaircit la FAQ...

    Par contre je n'utilise pas php mais java donc je ne pourrai pas utiliser tes lignes de code.

    Mais ce n'est pas grave !

  6. #6
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Citation Envoyé par ultracoxy
    Mon application demandera à stocker beaucoup d'éléments (images, courtes videos) et d'avoir de nombreux utilisateurs. Tout d'abord, dois-je plutôt me tourner vers un stockage de type MyIsam ou innoDb ?
    Si ta base est amenée à être très sollicitée, il vaut mieux éviter de stocker des images et des vidéos dedans, ça va engendrer de gros problèmes de performance vu la taille de ces données. Autant stocker les fichiers sur disque et ne mettre que des liens vers les fichiers dans la base de données.

    Combien d'utilisateurs sont susceptibles d'accéder simultanément à la base en moyenne ?

    Dans la FAQ, à la question "Que mettre comme valeur lors d'un INSERT ou d'un UPDATE sur un champ autoincrémenté ?", on répond rien. Mais lorsque je fais une requête d'insert, je suis bien obligée de mettre quelquechose sous peine de déclencher un exception SQL --> Quoi mettre ?
    Quand on dit "rien" ça veut simplement dire qu'on omet la colonne auto-incrémentée dans le INSERT.
    De plus la FAQ précise que "Si vous tenez à utiliser INSERT INTO table VALUES (...) sans préciser les noms de colonnes, insérez NULL ou 0".
    Ca me parait suffisamment clair...

    Autre question de la FAQ : "Comment récupérer la dernière valeur d'un champ autoincrémenté ?", réponse : la fonction SQL LAST_INSERT_ID(). Comment s'en sert on ? En faisant une requête sql pour la récupérer ?
    Comme toute autre fonction SQL, on s'en sert au sein d'une requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT LAST_INSERT_ID();
    SELECT * FROM latable WHERE id = LAST_INSERT_ID();
    UPDATE autre_table SET xyz = LAST_INSET_ID()
    ...

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

Discussions similaires

  1. Stockage images ou photos
    Par bruce207 dans le forum Modélisation
    Réponses: 2
    Dernier message: 09/04/2008, 21h17
  2. [Conception] envoie et stockage image dans la base
    Par nnanabebe dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/08/2006, 17h17
  3. [MySQL] stockage image base de données
    Par digger dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/11/2005, 08h49
  4. [Stockage] Image dans un fichier XML
    Par ovh dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 30/04/2003, 16h21

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