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

MySQL Discussion :

Comment Bien choisir le type et l'Interclassement ?


Sujet :

MySQL

  1. #1
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut Comment Bien choisir le type et l'Interclassement ?
    Bonjour

    Je souhaite créer une table de 3 colonnes :
    une colonne ID en INT autoincrement,
    une colonne KEY sur laquelle je vais faire des recherches sensibles à la casse.Elle contiendra de 6 à 8 caractères qui seront des chiffres (0 à 9 ) et/ou des 26 lettres de l alphabet en minuscule et/ou majuscules.
    Enfin une colonne CONTENT de type texte.

    Je cherche avant tout a avoir les meilleures performance possibles en terme de temps d' exécution lors de la recherche et de taille de stockage donc mes questions de débutant :

    Vaut il mieux déclarer la colonne KEY en varchar(8) ou en Char(8), insérer des espaces pour atteindre les 8 caractères en cas de caractères manquants et rechercher avec %KeyRecherchee% ?

    Vaut il mieux déclarer toute la table sensible à la casse ou seulement la colonne sur laquelle je vais faire des recherches ?

    Enfin, considérant que cette table ne comportera aucun caractère accentué ou autre bizarrerie, quel type d interclassement me conseillez vous ?

    J'ai regardé ici https://dev.mysql.com/doc/refman/8.0...set-mysql.html et j'avoue ne pas être plus avancé.

    Merci pour vos conseils.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Bonjour,

    Pour le type, je crois que plus personne n'utilise le CHAR, sauf quand il faut vraiment une taille fixe (pour un code postal français par exemple).

    Pour la collation, vu le besoin que tu décris qui est essentiellement technique, je te conseille latin1_bin.

    Et pour en savoir plus sur le sujet, je ne peux que conseiller cet excellent article https://antoun.developpez.com/mysql5/jeux-collations/

    PS : j'oubliais cette question-là :
    Vaut il mieux déclarer toute la table sensible à la casse ou seulement la colonne sur laquelle je vais faire des recherches ?
    Tout dépend de ce que tu veux faire avec les autres colonnes !
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut
    merci pour ta réponse.
    je vais aller lire cela immediatement

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 066
    Points
    19 066
    Par défaut
    Salut à tous.

    Les explications ne sont pas très clairs car nous ne savons pas pour quel usage, cette table va servir.
    Oui, j'ai compris qu'il s'agit de faire des recherches, mais pour rechercher quoi ?

    Si la colonne key sert à définir une date de parution et un titre, ce n'est pas comm cela qu'il faut déclarer cette colonne.
    Ensuite, qu'est-ce que vous cherchez ?

    Si ce sont des mots clefs, la bonne façon de faire est d'utiliser le "full text search" (FTS) :
    --> https://dev.mysql.com/doc/refman/8.0...xt-search.html

    La recherche se fera aussi bien dans la colonne KEY que dans la colonne CONTENT.

    En gros, il est difficile de vous conseiller si vous n'en dites pas plus au sujet de votre projet.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut
    une colonne KEY sur laquelle je vais faire des recherches sensibles à la casse
    C est uniquement sur cette colonne que je vais faire des recherches.


    Si la colonne key sert à définir une date de parution et un titre, ce n'est pas comm cela qu'il faut déclarer cette colonne.
    Ensuite, qu'est-ce que vous cherchez ?
    ce sera simplement une référence de produit.

    La requête sur ce produit me permettra de vérifier le stock, éditer le produit... mais en aucun cas de la modifier

    Merci pour le lien, j vais voir cela.

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 066
    Points
    19 066
    Par défaut
    Votre colonne key peut se décomposer en plusieurs colonnes, pourquoi ne pas le faire ?
    Si le début de la colonne key est un nombre pourquoi ne pas le stocker dans un type integer ?
    Et votre chaîne de caractères dans une colonne de type varchar() si elle est plus petite que 256 caractères.

    Vous dites :
    ce sera simplement une référence de produit.
    Dois-je comprendre que la saisie est faite n'importe comment ?

    Pour ma part, une référence de produit doit-être codifiée de façon à ne produire aucune ambiguïté.
    Donc tout en minuscule, sans faire usage de caractères spéciaux. Autrement dit, utiliser la codification ASCII.

    Cela ne pose aucun problème d'avoir une clef d'accès à votre table qui soit répartie sur plusieurs colonnes.
    Mais si l'accès va se faire par la colonne KEY, à quoi va vous servir la colonne ID ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  7. #7
    Membre régulier
    Homme Profil pro
    sans
    Inscrit en
    Mars 2020
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2020
    Messages : 182
    Points : 117
    Points
    117
    Par défaut
    N'importe comment je ne sais pas car elles sont "imposées", je n ai donc aucunement la main mise dessus.
    C est pour pour un site de pièces. L idée est de faire un formulaire de saisie avec la référence officielle de la pièce.
    Mais je pense que là je réinvente la roue car il suffit simplement de proposer à l utilisateur les pièces ayants une même référence et de le liasser choisir la bonne...
    Donc plus de pb de casse.
    Merci de tous vos conseils.

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

Discussions similaires

  1. Comment bien choisir le type de champ pour des heures
    Par pierrot10 dans le forum MySQL
    Réponses: 3
    Dernier message: 10/10/2017, 19h43
  2. Comment bien choisir son PFE ?
    Par Titi41 dans le forum Stages
    Réponses: 0
    Dernier message: 08/10/2010, 17h44
  3. [WD14] Comment bien choisir le bon champ
    Par papydev dans le forum WinDev
    Réponses: 5
    Dernier message: 27/01/2010, 12h19
  4. Comment bien choisir un serveur dedié
    Par youssefalaoui dans le forum Hébergement
    Réponses: 0
    Dernier message: 21/01/2010, 01h39
  5. [Webdesign] Comment bien choisir un webdesigner ?
    Par megane dans le forum Webdesign & Ergonomie
    Réponses: 3
    Dernier message: 02/06/2006, 11h13

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