Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2277 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  limites de mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

limites de mysql

n°139091
fafe
qui peut le moins peut le plus
Posté le 15-05-2002 à 10:28:20  profilanswer
 

hello,
dites-moi es-ce que quelqu'un sait si les tables mysql ont des limites en termes de capacité...
j'ai des tables qui contiennent 600000 enregistrements et ca rame furieusement!!
 :gun:


---------------
boulet officiel:goueg
mood
Publicité
Posté le 15-05-2002 à 10:28:20  profilanswer
 

n°139099
antp
Super Administrateur
Champion des excuses bidons
Posté le 15-05-2002 à 10:33:18  profilanswer
 

Ce forum tourne sous MySQL et y a des tables avec des millions d'enregistrement (notemment la table des messages)... donc à priori c'est pas une limite de MySQL, mais plutôt une question d'optimisation je suppose.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°139103
goueg
De passage
Posté le 15-05-2002 à 10:34:42  profilanswer
 

en clair, si ca rame c vot' faute :D
au boulot! [:xp1700]

n°139105
fafe
qui peut le moins peut le plus
Posté le 15-05-2002 à 10:36:23  profilanswer
 

c'est bien ce que je pensais...
le meilleur moyen d'optimiser ce sont les index n'es-ce pas?
es-ce que l'utilisation d'index est efficace avec mysql??
 :benetton:


---------------
boulet officiel:goueg
n°139106
antp
Super Administrateur
Champion des excuses bidons
Posté le 15-05-2002 à 10:36:45  profilanswer
 

Faut aussi voir comment tu fais tes requêtes ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°139116
fafe
qui peut le moins peut le plus
Posté le 15-05-2002 à 10:48:15  profilanswer
 

les requête y a pas 36 facons de les faires je fais un select sur tous les enregistrements de ma table et pour chaque enregistrement récuperé je fait une jointure sur une autre table pour récupérer les informations qui m'intéressent ...
excuse j'ai oublié de préciser que c'était dans du code php!!
 
$global=mysql_query("select * from matable1 ",$connexion);
while($resultat=mysql_fetch_object($global))
{
 $cle=$resultat->cle;
 $req=mysql_query("select acrd_radio,acrg_radio from  
radios where no_invitation = $inv_ref_g",$connexion);
  $res_acr=mysql_fetch_object($req);


---------------
boulet officiel:goueg
n°139120
fafe
qui peut le moins peut le plus
Posté le 15-05-2002 à 10:53:50  profilanswer
 

les requête y a pas 36 facons de les faires je fais un select sur tous les enregistrements de ma table et pour chaque enregistrement récuperé je fait une jointure sur une autre table pour récupérer les informations qui m'intéressent ...
excuse j'ai oublié de préciser que c'était dans du code php!!
 
$global=mysql_query("select * from matable1 where moncritere",$connexion);
while($resultat=mysql_fetch_object($global))
{
 $cle=$resultat->cle;
 $req=mysql_query("select info1,info2 from  
        matable2 where identifiant = $cle",$connexion);
  $rest=mysql_fetch_object($req);
         echo "$rest->info1";
         echo "$rest ->info2";
}
 
resultat: fatal error maximum time 30 sec excedeed...


---------------
boulet officiel:goueg
n°139132
antp
Super Administrateur
Champion des excuses bidons
Posté le 15-05-2002 à 11:12:05  profilanswer
 

:ouch: je comprends que ça rame... Ptêtre qu'avec une vraie jointure ça irait mieux :D
 
select info1,info2 from matable1, matable2 where (moncritere) and (identifiant=cle)
 
un truc dans ce genre sera infiniment plus rapide que de faire une requêtre en boucle
 
ici tu fais simplement une boucle sur le résultat de ça, pour récupérer tous tes info1/info2, et donc tu as une requête au lieu de 600 000...
 
ps: si jamais des champs ont le même nom dans les deux tables tu dois faire par ex select matable2.info1, etc...

 

[jfdsdjhfuetppo]--Message édité par antp le 15-05-2002 à 11:13:45--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°139137
Profil sup​primé
Posté le 15-05-2002 à 11:15:27  answer
 

:hello: farid.
 
antp a raison et en plus on a appris comme ca à l'iut.
 
tu n'a pas suivi les cours serieusement :non:

n°139157
fafe
qui peut le moins peut le plus
Posté le 15-05-2002 à 11:33:45  profilanswer
 

c'est pas une mauvise idée...
je vais tenter le coup!!
mr_mat je vais passer chez toi je pense demain
@+


---------------
boulet officiel:goueg
mood
Publicité
Posté le 15-05-2002 à 11:33:45  profilanswer
 

n°139191
Profil sup​primé
Posté le 15-05-2002 à 11:58:21  answer
 

fafe a écrit a écrit :

 
mr_mat je vais passer chez toi je pense demain
@+  



ok pas de pb

n°139202
ethernal
Chercheur de vérité...
Posté le 15-05-2002 à 12:23:32  profilanswer
 

faut peut-être penser à l'optimiser aussi;)
dupliquer les attributs, attributs calculés, ...
 
ex : stocker le nom du posteur en plus de son id dans la table post, histoire de ne pas devoir faire une jointure avec la table user puisque qd on affiche un post on affiche aussi le nom du posteur.

n°140476
Scoubidoo
In reblochon we trust
Posté le 17-05-2002 à 15:25:05  profilanswer
 

Hum moi je cherches aussi à optimiser un script em l'occurence, mon forum dont la page principale met 700 à 1000 ms à être généré. (URL : http://www.lanstadium.fr.st/forum)
J'ai fait des tests sur des requêtes avec la présence ou non d'index sur certains attributs de ma table : ya un cas, la traitement est passé de 25ms à 7ms avec l'utilisation d'index.
Sinon question, vaut il mieux utiliser mysql_query() ou mysql_unbuffered_query() pour aacéler le traitement?

n°140592
Scoubidoo
In reblochon we trust
Posté le 17-05-2002 à 18:08:29  profilanswer
 

up

n°142226
Profil sup​primé
Posté le 22-05-2002 à 10:18:00  answer
 

Salut :)
 
moi aussi je suis à la recherche d'infos :)
 
j'ai bien trouvé la taille max des tables, etc, dans la dac mysql.... on constate que les forums ici ont bcp d'enregsitrements, mais y-a-t-il un nombre limite d'enregsitrements au-delà duquel un nouvel enregsitrement refuse de s'insérer ?
 
j'ai besoin de ces infos pour fair eun doc pour le boulot ;-)
 
merci à vous les coquinous ;-)))
Elcap

n°142288
ethernal
Chercheur de vérité...
Posté le 22-05-2002 à 11:25:42  profilanswer
 

ça dépend de la taille de ta clé (id numérique, char, ou clé composée) comme sur tout le sgbd me semble-t'il.
si tu prends un bigint unsigned, tu est parti pour 18 446 744 073 709 551 615 enregistrements...


---------------
...oups kernel error...
n°142297
LetoII
Le dormeur doit se réveiller
Posté le 22-05-2002 à 11:32:55  profilanswer
 

La seule limite dont j'ai entendu parler c'est la taille des fichiers. Donc comme sur la plus part des OS pour PC ( à ma connaissance en tout cas) on est limité à des fichiers de 4Go à toi de faire tes petits calculs :)


---------------
Le Tyran
n°142299
antp
Super Administrateur
Champion des excuses bidons
Posté le 22-05-2002 à 11:35:41  profilanswer
 

En NTFS (sous NT4/2000/XP) on n'est pas limité à 4 Go
Idem pour Linux (enfin ça dépend des file systems j'imagine, mais il me semble que ext2 y a pas cette limite si basse)

 

[jfdsdjhfuetppo]--Message édité par antp le 22-05-2002 à 11:35:55--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°142327
Profil sup​primé
Posté le 22-05-2002 à 12:33:53  answer
 

ok, merci pour l'info :)
 
en voici une concernant la taille des tables :)
 
http://www.mysql.com/doc/T/a/Table_size.html
 
Elcap :)

n°142332
antp
Super Administrateur
Champion des excuses bidons
Posté le 22-05-2002 à 12:36:35  profilanswer
 

8 million terabytes :ouch:  
he bhe on a le temps de voir venir :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°144593
joce
Architecte / Développeur principal
"BugHunter"
Posté le 25-05-2002 à 15:54:20  profilanswer
 

tu m'étonnes :D
la les partitions sont en reiserfs donc le dur sera plein avant d'avoir atteint la limite de taille du FS :D

 

[jfdsdjhfuetppo]--Message édité par joce le 25-05-2002 à 15:54:43--[/jfdsdjhfuetppo]


---------------
Protèges carnets personnalisés & accessoires pour bébé
n°148290
blackphant​om
Pfffff...
Posté le 31-05-2002 à 00:21:42  profilanswer
 

J'ai fait des tests dans ma boite de montée en charge de tables mysql (on a pres de 300 000 inscrits dans notre base); je suis monté a 4 000 000 d'enregistrements sur une table consommateur, et la ca ramait un peu (qques secondes pour récupérer toutes les infos d'un consommateur); en rajoutant des index sur les bons champs (style pseudo, email ou autre champ très sollicité dans les clauses "WHERE" ), c'etait instantané, meme pas une demi seconde, donc les index sont tres utiles mais a mon avis tu as encore de la marge, car mysql est tres rapide.
 
Mais comme dis antp, ta facon de faire des requetes est  :eek2:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  limites de mysql

 

Sujets relatifs
declarer une variable booleene avec mysql[PHP - MySQL] Nom + lien [résolu]
[MYSQL] Ou se trouve le fichier my.cnf ....???[ PHP / MySQL ] Traiter des checkbox...
Easy PHP et MySQL[ PHP / MySQL ] ORDER BY ??
[mySQL] problème avec des sous requetes.. je pige pas...[PHP/MySQL] Grille de programmation...
[MYSQL] Probleme avec les valeur NULLDifférence entre SQL, mySQL et SQL Server ?!
Plus de sujets relatifs à : limites de mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR