Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/04/2006, 10h49   #1
Invité de passage
 
Inscription : avril 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 7
Points : 1
Points : 1
Par défaut sql nombre max de table

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.
laurencin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2006, 11h11   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
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
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2006, 12h10   #3
Invité de passage
 
Inscription : avril 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 7
Points : 1
Points : 1
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 ???
laurencin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2006, 12h18   #4
Invité de passage
 
Inscription : avril 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 7
Points : 1
Points : 1
Par défaut Tout trouvé !!!!

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
laurencin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2006, 12h31   #5
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Par défaut Re: Tout trouvé !!!!

Citation:
Envoyé par laurencin
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.
Je précise que ceci vient de la FAQ MySQL et qu'il vaut mieux la consulter avant de poster un message

http://mysql.developpez.com/faq/?page=SYNTAXE_VALEURS_MAX#SYNTAXE_VALEURS_MAX_nb_bases_tables

Citation:
Envoyé par laurencin
En revanche une table est construite par utilisateurs.
Ce n'est pas une très bonne politique, on en voit les limites avec le problème soulevé ici.
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2006, 18h37   #6
Membre habitué
 
Inscription : février 2006
Messages : 118
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 118
Points : 116
Points : 116
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".
yizashi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h01.


 
 
 
 
Partenaires

Hébergement Web