Mysql : indexer une table
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Mysql : indexer une table



  1. #1
    tariq_qui

    Mysql : indexer une table


    ------

    slt je suis débutant dans MUSQL j'ai crée une table à l'aide de requête create table ....,
    1/
    je veux savoir c quoi le bute d'indéxé une table , j'ai entendu pour rendre la rechere de données plus vite
    et c quoi le but d'indtroduire une conne s'appelle id
    ( est ce que il a une relation avec lindection
    2/
    je veux la requete de index d'une table

    et Merci bcp

    -----

  2. #2
    invite6de5f0ac

    Re : Mysql

    Bonjour,

    Rapidement:

    (1) Si tu n'indexes pas une table, une recherche (SELECT...WHERE...) risque, au pire, de se faire séquentiellement. Avec un index, tu peux déterminer presque instantanément l'emplacement d'un enregistrement dans la table, c'est donc bien plus rapide.

    (2) Pour que ça marche, il est préférable qu'il n'y ait pas trop de collisions, c'est-à-dire pas trop de lignes avec la même valeur d'index (encore que, ça se discute, c'est parfois utile). D'où l'utilisation d'une colonne "id" avec une clé unique (UNIQUE KEY). C'est de toutes façons souvent une bonne habitude, par exemple pour créer des liens entre tables.

    (3) En principe on n'accède pas directement à un index, c'est une structure interne à SQL, et il n'y a pas de garantie quant à la manière dont c'est implémenté.

    -- françois

  3. #3
    tariq_qui

    Re : Mysql

    slt
    donc id c la colonne coorespondant à l'indexation
    1/
    pourquoi on affeque la valeur unique key ( automatiquement il prend de valeur ou quoi )
    2/
    si j'ai indéxé mon table comment je peux trouver une donnée
    est ce que il faut que je vais chercher par le id affecter ou koi ?????

    C bien apparait que je comprends pas l'indexation lol
    Merci de votre aide

  4. #4
    invite6de5f0ac

    Re : Mysql

    Bonjour,

    La clé d'indexation n'est pas forcément unique. On peut d'ailleurs avoir plusieurs index sur une seule table. Simplement, on crée souvent une clé unique pour pouvoir individualiser les enregistrements. Ce n'est pas forcément nécessaire, ni même utile.

    Une clé primaire est toujours unique, c'est souvent elle qu'on utilise pour l'indexation. Mais on peut toujour faire CREATE INDEX index ON table (col1,...,coln) avec éventuellement une contrainte UNIQUE INDEX sur les colonnes concernées.

    Après, pour accéder via un index, c'est exactement comme via une colonne normale:
    SELECT * FROM table WHERE id = "xxx"
    ça sera simplement bien plus efficace si la colonne "id" sert d'index.

    -- françois

  5. A voir en vidéo sur Futura
  6. #5
    tariq_qui

    Re : Mysql

    Pourquoi il faut lancer la requete create index index on table(COL1,Col2,...,Coln);
    1/
    est ce que l'ajout simplement d'une colonne s'appelle ID ne suffit pas
    2/
    il faut que les valeurs affecter au colennes ID soit différentes pour chaques lignes ( Est que nous qui affecte si valeur ...... je pense oui )
    Merci

  7. #6
    invite6de5f0ac

    Re : Mysql

    (1) Parce qu'on peut indexer sur un groupe de colonnes.
    (2) Non, il ne suffit pas de créer une colonne qui s'appelle "id", il faut aussi dire qu'on indexe dessus (c'est automatique pour une PRIMARY KEY). Même si en général on l'appelle bien "id", mais c'est plus une habitude qu'une nécessité.
    (3) Après, on écrit dans les colonnes d'index exactement comme dans les autres. C'est juste leur comportement avec SELECT qui sera plus efficace ensuite.
    (4) En principe il n'est pas obligatoire que toutes les valeurs soient différentes d'un enregistrement à l'autre, mais l'index sera d'autant plus efficace. D'où l'usage d'une colonne "id" réservée à cet usage.

    -- françois

  8. #7
    tariq_qui

    Re : Mysql : indexer une table

    Merci de votre aide
    Après la creation (des donner enregistrés ) et l'indexation de mon table , comment quelqu'un peut l'utiliser ( je pense pas qu'il est besoin de ecrire des requetes)
    il faut une interface d'utilisation (sans requete ) simple
    comment je peux le crée ??????
    Merci bcp

  9. #8
    invite6de5f0ac

    Re : Mysql : indexer une table

    Bonjour,

    Alors là, je ne peux plus vraiment t'aider...

    Ce qui est sûr, c'est que l'utilisateur ne doit pas avoir à écrire des requêtes lui-même. Le mieux est d'utiliser un générateur de requêtes et/ou de rapports, comme il en existe par exemple pour Access.

    Mais je n'ai jamais vraiment utilisé Access. Je n'ai utilisé SQL que sur des stations de travail (Sparc et Silicon Graphics) sous Unix, et le générateur de requêtes on se l'écrivait à la main, avec C++ et Motif. Il faut dire que c'était toujours pour des applications trè spécifiques (au niveau sécurisation des données entre autres).

    Alors sur PC je ne connais pas vraiment. Désolé

    -- françois

  10. #9
    tariq_qui

    Re : Mysql : indexer une table

    Ok merci
    1/
    à quoi sa sert de crée des formulaires , ce sont pas les pages interface de base de données
    Voice mon probleme
    je veux crée une page (utilisateur) dont on indique seulement le nom de client et je peux accès directement à son page classeur(page crée par exel) donc un variable me connect sur une page précise
    est ce que il y a une méthode de faire ça
    Merci en avance

Discussions similaires

  1. corde sur une table
    Par invited436cae9 dans le forum Physique
    Réponses: 8
    Dernier message: 22/04/2007, 12h55
  2. determiner quand une table bascule
    Par goodvibes69 dans le forum Physique
    Réponses: 3
    Dernier message: 09/03/2007, 11h32
  3. Taille table MySQL : ralentit les requêtes?
    Par lignux dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 11/01/2007, 17h33
  4. symétries dans une table de Pythagore
    Par inviteb68ce3e8 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 04/03/2006, 08h56
  5. Indexer un forum phpbb dans google
    Par invite6a5889bb dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 14/09/2003, 09h04
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...