Salut a tous.
Je voudrais simplement savoir si il y a un nombre max de tables sql que l'on peut avoir dans une base de donnée.
sachant que dans mon cas je peux avoir plus de 5000 tables.
(deux ou trois pas utilisateurs)...
merci.
Salut a tous.
Je voudrais simplement savoir si il y a un nombre max de tables sql que l'on peut avoir dans une base de donnée.
sachant que dans mon cas je peux avoir plus de 5000 tables.
(deux ou trois pas utilisateurs)...
merci.
Non !
Il ne faut pas raisonner nb de tables, mais taille maxi de la table...
cf http://dev.mysql.com/doc/refman/5.0/fr/table-size.html
dison que les tables de ma base de donnée n'exedent pas 1Mo par utilisateurs je pense.
il s'agit uniquement de stockage d'infos au format TEXT.
Mon application est equivalent à un blog, ou je stock les post dans une base de donnée.
En ce qui concerne les photos, et le reste, elle sont sauvgardés sur un autre serveur dont la capacitée est de 1800Go.
Seuls leurs chemin d'acces est stockés dans la DB.
En revanche une table est construite par utilisateurs.
je ne pense donc pas atteindre la limite en therme de taille, mais plus en therme de table...
cela est t'il le cas ???
La seule limite dépend du nombre de fichiers que vous pouvez stocker dans un répertoire.
Quand une base est créée, MySQL crée un répertoire dans lequel seront stockées les tables. En conséquence, le nombre de bases est limité par le nombre de sous-répertoires que votre système peut gérer à l'intérieur du répertoire des données de MySQL.
En ce qui concerne les tables de type ISAM et MyISAM, chaque table dans une base est composée de 3 fichiers.
Donc, le nombre maximum de tables que vous pouvez définir est limité par le nombre de fichiers que votre système d'exploitation autorise dans un seul répertoire, divisé par tois. Les autres types de table (BDB,InnoDB) utilisent généralement un seul fichier par table.
Des données temporaires seront aussi écrites dans ce répertoire, par exemple pendant des optimisations de tables.
Cependant, lors de la conception de votre base de données, évitez la profusion de milliers de tables, les performances s'en ressentiraient.
Merci pour ceux qui m'on aider
Je précise que ceci vient de la FAQ MySQL et qu'il vaut mieux la consulter avant de poster un messageEnvoyé par laurencin
http://mysql.developpez.com/faq/?pag...b_bases_tables
Ce n'est pas une très bonne politique, on en voit les limites avec le problème soulevé ici.Envoyé par laurencin
Si tu comptes avoir 5000 tables c'est probablement que ton modèle est mal fait. Enfin peut-être que ça se justifie mais sincèrement je ne crois pas.
Pour information, une application en production n'est pas censée modifier la structure de base de ton modèle (table, colonnes, index, etc) mais uniquement leur contenu en ajoutant, supprimant, modifiant des enregistrements. Bien sûr si y'a un changement majeur à effectuer on doit créer une nouvelle table, mais pas sur une application en production.
Tu veux gérer quoi si c'est pas indiscret? Parce que dans le cas d'un stockage d'informations de type "texte" (un message sur un forum ou dans ton blog) y'a pas d'intérêt à stocker ça dans une table Dupont si le message a été créé par Dupont.
C'est plus simple de le mettre dans une table "message" qui contiendra le numéro de l'utilisateur en plus du message lui-même.
Je te conseille si tu ne t'y connais pas trop de voir un peu quelques exemple de "modélisation".
Partager