quel base choisir?

netweb
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 29 Juil 2009

quel base choisir?

Message le Ven Aoû 28, 2009 9:27

bonjour

aujourd'hui je veux construire ma propre base de donnée de facon à être optimal

voila mon problème: avant j'avais un seul table dans la base qui contient presque 500000 enregistrements , mais j'ai remarqué que la selection à partir de la base devient trés long malgré que j'utilise les index(8 index).
ce table est constitué de plusieurs thémes différents(voiture , alimentation,moto,sport,meuble..).

bon la question que se pose aujourd'hui :quels sont les causes de lenteur de sélection à partir de la table?

dans ce cas la ,quel est le meilleur taille de ram du serveur de base qu'il faudrait avoir?
-est ce que c'est mieux de définir pour chaque théme un table à part au lieu d'avoir tous les thémes dans le même table,sachant que la taille de la table peut arriver un jour à 10 millions d'enregistrements?

merci


Anto1982
WRInaute passionné
WRInaute passionné
 
Messages: 1334
Inscription: 7 Mai 2009

Re: quel base choisir?

Message le Ven Aoû 28, 2009 10:16

une seule table dans ta base....?

Si c'est applicable, la première chose à faire et d'avoir plusieurs tables différentes et d'utiliser les jointures.

Par exemple:

Table contacts.
contact_id | contact_name | contact_address

Table sociétés.
company_id | company_name | company_address

Tables contacts/sociétés.
company_id | contact_id

Il faut (peut-être?) que tu penses à réorganiser la structure/architecture de tes données.

Peux tu nous donner un exemple de ligne que tu as dans ta base (un enregistrement exemple) pour que nous puissions t'aider un peu plus?

jcaron
WRInaute accro
WRInaute accro
 
Messages: 2685
Inscription: 13 Fév 2004

Re: quel base choisir?

Message le Ven Aoû 28, 2009 10:22

Sans avoir une idée de la structure de ta table, des index, et des requêtes que tu effectues (et éventuellement d'un explain de ces requêtes), il est difficile de te dire pourquoi c'est lent ou pas. Mais toutes les requêtes ne sont pas optimisables avec des index. Par exemple une requête de type SELECT * FROM table WHERE champ LIKE '%mot%' ne peut pas être optimisée avec un index, le serveur de bdd est obligé de lire toute la table pour trouver les lignes qui vont bien.

Ensuite, suivant les cas, la lenteur peut venir du fait que tu satures (même temporairement) soit le CPU (assez rare sur une BDD, mais sur certaines requêtes complexes ça peut arriver) soit les accès disque (si ta base ne tient pas en RAM, le plus fréquent). Dans le deuxième cas, la meilleure option c'est d'avoir plus de RAM.

Jacques.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: falah19992 et 1 invité