Projet php/mySQL

mannou_h Messages postés 2 Statut Membre -  
mannou_h Messages postés 2 Statut Membre -
Bonjour,
je cherche un projet qui a pour but de bein assimiler le concept d'index et son utilisation
dans les bases des données ,cette application implémente un algorithme de selection utilisant les index et un algorithme de jointure n'utilisant pas les index.
je souhaite que vous m'aidez svp et merci d'avance.


A voir également:

4 réponses

enqueteactualite Messages postés 76 Statut Membre 16
 
Pour comprendre les index c'est simple :
imagine une table qui comporte 1 000 000 de lignes et que tu fais une requête qui te donne uniquement les lignes qui on la colone "active" à 1...

sans index : mysql passe sur toutes les lignes ( 1 000 000 ) pour savoir si la colonne comporte la valeur 1.
avec un index sur la colonne "active" et bien mysql sait déjà quel ligne porte la valeur 1...

c'est comme si je te demandé de me calculer 5 + 17 : si tu index ton addition, le jour ou ont vas te reposer la question tu ne fera pas le calcul, tu regardera directement ou tu as stocké la réponse ;)
1
loupix57 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   14
 
Sinon ; les jointures SQL ça s'apprend en 1ère année de lycée !
En France.

Voila l'idée :
vous avez une table client (id, nom, prenom, adresse, etc ..)
une autre table commande(id_client, commande)

la jointure se fait sur ce genre de requête :

SELECT *
FROM client
INNER JOIN commande_client ON (client.id = commande.id_client)

en espérant été assez clair :-)
0
loupix57 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   14
 
Sans index .. ah bah merde ...
0
mpmp93 Messages postés 7217 Statut Membre 1 340
 
Bonjour,

Pour les grosses BDD (bases de données), il est fortement recommandé d'indexer tous les champs sur lesquels on effectue des filtrages.

Exemple, vous aves une BDD clients. Pour chaque fiche client il y a le code postal. eh bien il est recommandé d'indexer le code postal SI on fait ce genre de choses:

SELECT * FROM clients WHERE code_postal Like '92%'


Les performances sont multipliées d'un facteur 10 à 1000. C'est pas sensible sur les petites tables, mais très visible si on atteint des volumétries très importantes...

Ensuite, l'indexation est quasi-obligatoire sur les champs sur lesquels on fait des jointures.

Parler de jointures sans indexer va poser un gros souci de performances sur de grosses tables.

Moi j'dis ça....


0
mannou_h Messages postés 2 Statut Membre
 
merci pour pour vous :)
0