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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MYSQL] Votre avis sur...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MYSQL] Votre avis sur...

n°681723
mysanthrop​e
Posté le 23-03-2004 à 17:45:01  profilanswer
 

Bonjour,
 
J'ai une table d'environ 500.000 entrées (350 mo), très visitée (pas mal de lecture, ajout, effacement).
 
C'est une table "messages", il y a
 
numero (int)
login (char)
expediteur (char)
sujet (char)
message (longtext)
date (datetime)
etat (tinyint)
 
index sur login et etat
 
Vous vous doutez bien qu'elle prend beaucoup de ressources, alors je voudrais savoir si en bougeant la colonne "message" dans une autre table ca allait pouvoir accellerer les processus ? Dans le cas contraire, vous avez une methode plus intéressante ?
 
Merci.

mood
Publicité
Posté le 23-03-2004 à 17:45:01  profilanswer
 

n°681738
HappyHarry
Posté le 23-03-2004 à 17:59:54  profilanswer
 

y a un moyen simple de le savoir :o

n°681760
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 23-03-2004 à 18:19:35  profilanswer
 

Je serais toi, je ferais des tables différentes : une table utilisateur et une table messages par exemple ...


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°682397
mysanthrop​e
Posté le 24-03-2004 à 11:19:32  profilanswer
 

Gilbert Gosseyn a écrit :

Je serais toi, je ferais des tables différentes : une table utilisateur et une table messages par exemple ...


 
Faire ca ne servirait à rien puisque le seul problème dans la table est le LONGTEXT, si je n'avais que des CHAR il n'y aurait pas de soucis au niveau de la vitesse en ajout et effacement. Il faut que j'isole le longtext tout seul.

n°682405
joce
Architecte / Développeur principal
"BugHunter"
Posté le 24-03-2004 à 11:22:42  profilanswer
 

perso j'ai pas de probleme de perfs avec cette methode :o

n°682442
mysanthrop​e
Posté le 24-03-2004 à 11:40:58  profilanswer
 

Ouai mais tu tournes peut être pas sous ASP avec un site qui fait 12.000.000 de pv/mois

n°683004
joce
Architecte / Développeur principal
"BugHunter"
Posté le 24-03-2004 à 16:38:11  profilanswer
 

je tourne pas en ASP non, mais je pense que le forum sur lequel tu postes fait plus que 12 000 000 pv/mois :D

n°683061
HappyHarry
Posté le 24-03-2004 à 17:31:01  profilanswer
 

et avec tout ca, t'aurais eu le temps de tester depuis :o

n°683093
mysanthrop​e
Posté le 24-03-2004 à 17:48:50  profilanswer
 

Je ne vois pas le rapport avec le forum. De plus toutes les pages du forum sont sauvées en HTML ce qui fait gagner beaucoup de ressources cpu, et j'imagine qu'il tourne sur linux, ce qui n'est pas pareil que windows 2000.
 
HappyHarry tu essayes de dire quoi ?

n°683101
HappyHarry
Posté le 24-03-2004 à 17:53:51  profilanswer
 

qu'en une journée tu aurais largement eu le temps de tester par toi meme laquelle des deux solutions est la plus rapide :o

mood
Publicité
Posté le 24-03-2004 à 17:53:51  profilanswer
 

n°683105
joce
Architecte / Développeur principal
"BugHunter"
Posté le 24-03-2004 à 18:00:46  profilanswer
 

mysanthrope a écrit :

Je ne vois pas le rapport avec le forum. De plus toutes les pages du forum sont sauvées en HTML ce qui fait gagner beaucoup de ressources cpu, et j'imagine qu'il tourne sur linux, ce qui n'est pas pareil que windows 2000.
 
HappyHarry tu essayes de dire quoi ?

parce que le forum c'est moi qui l'ai concu donc je sais comment il marche et je connais les structures que j'utilise avec MySQL.
Quand aux pages, elles ne sont pas en HTML, mais bien en php, c'est juste le modrewrite qui est utilise.

n°683107
mysanthrop​e
Posté le 24-03-2004 à 18:05:35  profilanswer
 

C'est pas aussi simple que ca, je dois faire ces tests avec le maximum de gens sur le site pour me rendre compte de l'impact ou non de la transformation, ce qui implique en cas d'échec que je revienne au modèle précedent avec la charge de réassembler les bases de données ce qui sur une base de 500.000 entrées devient plus compliqué que de les séparer. Je pense que créer 2 tables est la meilleure des choses, mais je suis venu ici pour savoir si quelqu'un pensait le contraire et avait une autre solution car je ne me qualifie pas comme un expert en mysql, y'a sans doute des petits trucs que je ne connais pas et que d'autres connaissent.

n°683111
joce
Architecte / Développeur principal
"BugHunter"
Posté le 24-03-2004 à 18:10:04  profilanswer
 

moi je dis que ca ne changera pas grand chose parce que j'imagine que tu rapatries toutes les infos en meme temps et pas uniquement le message. Donc tu vas faire une jointure qui va rien t'apporter a part encore une diminution des perfs.


Message édité par joce le 24-03-2004 à 18:10:11
n°683113
mysanthrop​e
Posté le 24-03-2004 à 18:10:53  profilanswer
 

Ok pour le rewrite que je ne connais guère puisqu'on n'a pas ca en standard sur ASP. Mais tu ne peux pas comparer l'incomparable, encore si j'étais sous CHILI ASP peut être qu'on aurait pu comparer, mais face à un windows déjà lourd par lui même c'est pas la peine mais je reste néanmoins persuadé qu'il peut dépasser les 12M avec quelques transformations puisque c'est surtout une table qui fait ralentir le système.

n°683119
joce
Architecte / Développeur principal
"BugHunter"
Posté le 24-03-2004 à 18:15:11  profilanswer
 

mais tu comptes gagner quoi en separant ta table en deux :??:
Ta table dans MySQL est une table dynamique c'est a dire que chaque champ prend la place optimale sur le disque.
T'as regarde du cote de tes indexs plutot ?

n°683122
mysanthrop​e
Posté le 24-03-2004 à 18:16:02  profilanswer
 

je rappatrie dans un premier cas tout sauf le message, pour afficher la liste des sujets, ensuite je rappatrie tout pour la consultation d'un message. J'avais lu qu'un VARCHAR ou un LONGTEXT (ou tout autre type avec taille variable) étaient la cause de nombreux crash de tables (ce qui m'arrive aussi) et qu'il fallait privilégier les CHAR qui eux ont une taille fixe, surtout quand la table est souvent modifiée. Je pense que pour l'organisation de la table, sa mise en forme lors de MAJ, que cette solution peut être plus rapide car elle se saisit de moins de données d'un coup

n°683123
joce
Architecte / Développeur principal
"BugHunter"
Posté le 24-03-2004 à 18:16:12  profilanswer
 

heu remarque attends y a un truc que j'avais pas vu dans ta structure, desole :o
separe la table en deux effectivement :D
 
(premiere table statique, deuxieme table dynamique)


Message édité par joce le 24-03-2004 à 18:18:24
n°683127
mysanthrop​e
Posté le 24-03-2004 à 18:18:50  profilanswer
 

Mes index sont réduits au minimum. Je compte permettre à MYSQL de manipuler moins de données d'un coup, modifier 2 tables de 170mo est sans doute plus rapide que de modifier une table de 350 mo ?

n°683751
kalex
Posté le 25-03-2004 à 13:38:11  profilanswer
 

Perso, j'ame bien divisé fortement mes tables de façon a ce qu'il n'y ai jamais de répétition. J'enlèverais donc login, expediteur et message de cette table.

n°683999
mysanthrop​e
Posté le 25-03-2004 à 15:29:20  profilanswer
 

Je compte en fait faire ces deux tables car plus pratique dans mon cas :
 
numero (int)  
login (char)  
expediteur (char)  
sujet (char)  
date (datetime)  
etat (tinyint)  
 
 
numero (int)  
message (longtext)


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

  [MYSQL] Votre avis sur...

 

Sujets relatifs
[Question] MySQL / C++ / portabilité[mysql] tables read only
Classe de connection a mysql[JApplet] Interaction MySQL et applet /pb simple de resulset :o
Problème Java MySQLconvert. array numérique en clé primaire-valeur from MySQL?
Comment ca marche le mysql_connect ?[php] récupérer l'id d'une ligne apres un INSERT MySQL
[AVIS] Postgresql ou mysql?[PHP, MySQL] votre avis concernant la gestion des images
Plus de sujets relatifs à : [MYSQL] Votre avis sur...


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