Mysql petite question!
Résolu
WebMat
Messages postés
47
Date d'inscription
Statut
Membre
Dernière intervention
-
WebMat Messages postés 47 Date d'inscription Statut Membre Dernière intervention -
WebMat Messages postés 47 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais savoir combien d'entrée on peut mettre dans une table?
Je voudrais aussi savoir si je fais une recherche dans une table qui a 6000 entrée et ce que cela sera vraiment très long?
1 sec 2sec ou plutot 10 sec 15sec
Je voudrais aussi savoir si la clé (souvent l'id) que l'on définit dans les tables a une utilité dans cette recherche?
Je voudrais savoir combien d'entrée on peut mettre dans une table?
Je voudrais aussi savoir si je fais une recherche dans une table qui a 6000 entrée et ce que cela sera vraiment très long?
1 sec 2sec ou plutot 10 sec 15sec
Je voudrais aussi savoir si la clé (souvent l'id) que l'on définit dans les tables a une utilité dans cette recherche?
A voir également:
- Mysql petite question!
- Petite amie virtuelle en français gratuit - Accueil - Intelligence artificielle
- Mysql community server - Télécharger - Bases de données
- Petite croix snap - Forum Snapchat
- Mysql error in file: /engine/classes/mysql.php at line 53 ✓ - Forum Réseaux sociaux
- Petite majuscule word ✓ - Forum Word
3 réponses
Généralement l'accès à une donnée d'une table (même avec beaucoup d'entrées) est très rapide.
L'identifiant à son importance car mysql crée automatiquement un index sur l'identifiant, ce qui fait qu'une requête à base de "WHERE ID = 'XXX'" sera beaucoup plus rapide qu'une requête sur des champs non-indexés.
Généralement quand une requête rame c'est qu'on joint des lignes de plusieurs tables sur lesquelles ont refait des sélections etc... Donc utiliser les jointures sans oublier de critères de sélection et bien réfléchir à son utilité avant de placer un DISTINCT sont de bonnes idées de départ pour accélerer une requête ;)
Voilà, enfin c'est mes petites astuces persos
Bon courage !
L'identifiant à son importance car mysql crée automatiquement un index sur l'identifiant, ce qui fait qu'une requête à base de "WHERE ID = 'XXX'" sera beaucoup plus rapide qu'une requête sur des champs non-indexés.
Généralement quand une requête rame c'est qu'on joint des lignes de plusieurs tables sur lesquelles ont refait des sélections etc... Donc utiliser les jointures sans oublier de critères de sélection et bien réfléchir à son utilité avant de placer un DISTINCT sont de bonnes idées de départ pour accélerer une requête ;)
Voilà, enfin c'est mes petites astuces persos
Bon courage !
Donc si par exemple dans mes bases de données j'ai souvent des WHERE login='".$_SESSION['login']."' je dois donc mettre le champ login en clé?
Peut ton indexer plusieurs champs dans une table?
Peut ton indexer plusieurs champs dans une table?
Tu n'es pas forcé de mettre login en identifiant, tu peux juste créer un index sur login.
Par contre, attention, il faut bien réfléchir avant de créer un index sur un champs.
Quand on crée un index mysql se crée une sorte d'annuaire dans lequel il classe les données par index.
Donc plus on crée d'index, plus on crée d'annuaires, donc plus il y a de manipulations à faire pour créer/modifier/supprimer des données.
Donc un index accélère les requêtes de recherche mais ralenti les requête d'ajout,de suppression, de modification.
Pour la création d'un index, je n'ai pas en tête la syntaxe, un petit passage sur google tu devrais trouver ça facilement ;)
Par contre, attention, il faut bien réfléchir avant de créer un index sur un champs.
Quand on crée un index mysql se crée une sorte d'annuaire dans lequel il classe les données par index.
Donc plus on crée d'index, plus on crée d'annuaires, donc plus il y a de manipulations à faire pour créer/modifier/supprimer des données.
Donc un index accélère les requêtes de recherche mais ralenti les requête d'ajout,de suppression, de modification.
Pour la création d'un index, je n'ai pas en tête la syntaxe, un petit passage sur google tu devrais trouver ça facilement ;)