sudokuz Posté 4 Mai 2006 Posté 4 Mai 2006 Bonjour Question sur la gestion de ma base de données et des tables. A l'heure actuelle toutes mes données sont dans une seule table "grilles" ID, NB de ligne, Nb de colonnes, probleme, solution . Les champs probleme et solution peuvent contenir de 16 à 256 caractères Ma table contient 12000 enregistrements et je veux en ajouter plus de 200 000 rapidement Ma principale requete est une selection aléatoire d'une grille dans la table en fonction d'un nombre de lignes et de colonnes bien determiné comment organiser ma table et ma base ? - Pas de soucis , je peux continuer à remplir ma table grille tant que ma table ne depasse pas XXX XXX enregistrements (ou taille en Mo) - Ou il vaut mieux que je crée des tables contenant les différents types de grilles (entre 5 et 10 tables). Dans ce cas je crée mes tables dans la meme base ou je crée aussi d'autres bases pour gagner en temps d'accès ? merci
Kalt Posté 4 Mai 2006 Posté 4 Mai 2006 (modifié) Ma principale requete est une selection aléatoire d'une grille dans la table en fonction d'un nombre de lignes et de colonnes bien determiné Dans ce cas je ferais un index sur 3 colonnes de ta table : id, nb_lignes et nb_colonnes. Ainsi ta principale requête qui doit avoir à peu près cette tête : SELECT id FROM table WHERE nb_lignes = 'x' AND nb_colonnes = 'y' ORDER BY RAND() LIMIT 1 sera très rapide, même sur 200 000 enregistrements. Un EXPLAIN suivi de ta requête devrait te convaincre. Modifié 4 Mai 2006 par Kalt
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant