Probleme MySQL & PHP - PHP - Programmation
Marsh Posté le 16-06-2002 à 16:00:54
Si tu rajoutes un index sur la date, ca va pas mieux?
EDIT: et sur l'heure aussi of course
Marsh Posté le 16-06-2002 à 16:23:45
Ca cahnge presque rien genre 10 ms en moins
mais ca sert a quoi ces index ?
Marsh Posté le 16-06-2002 à 16:39:00
J-'-R a écrit a écrit : Ca cahnge presque rien genre 10 ms en moins mais ca sert a quoi ces index ? |
http://www.toutestfacile.com/phpin [...] &chap=sql5
Oups, je suis con, j'avais pas bien lu ta requête...
Ajoute aussi un index sur sujet
Marsh Posté le 16-06-2002 à 16:40:54
tjrs pas a mon avis ca ne viens pas de la
Marsh Posté le 16-06-2002 à 17:09:43
J-'-R a écrit a écrit : Ca cahnge presque rien genre 10 ms en moins mais ca sert a quoi ces index ? |
les index servent à accélérer les recherches sur les champs concernés. C'est surtout utile avec les clés primaires qui sont utilisées pour liés différentes tables.
Sinon, ya combien d'enregistrements dans ta base de données ?
Marsh Posté le 16-06-2002 à 17:15:15
180 enregistrement dans la table concernée
mais bon ca ne doit pas faire cahnger les perfs
( il fait comment joce sinon ? )
Marsh Posté le 16-06-2002 à 17:18:29
J-'-R a écrit a écrit : 180 enregistrement dans la table concernée mais bon ca ne doit pas faire cahnger les perfs ( il fait comment joce sinon ? ) |
180 c'est vraiment pas grand chose...
Sinon le temps de calcul que tu nous as donnée, il correspond ) la génération complète de la page ou juste la requête ?
Marsh Posté le 16-06-2002 à 17:19:07
pkoi tu met ton sujet entre guillemets alors que c un nombre ?
Marsh Posté le 16-06-2002 à 17:19:12
Tu testes ta base online ou sur ton PC ? si c'est online c'est qui ton hebergeur ?
Marsh Posté le 16-06-2002 à 17:19:34
Tentacle a écrit a écrit : 180 c'est vraiment pas grand chose... Sinon le temps de calcul que tu nous as donnée, il correspond ) la génération complète de la page ou juste la requête ? |
si une requete comme ça devrait prendre 20x moins de temps
Marsh Posté le 16-06-2002 à 17:27:12
Stligar a écrit a écrit : Tu testes ta base online ou sur ton PC ? si c'est online c'est qui ton hebergeur ? |
online et local ca reviens a peut pres au meme
online sur multimania
sinon le temps c'est le temps de toute la page mais la requete dans le while seule prends 260 ms
( et ce n est pas normal )
Marsh Posté le 16-06-2002 à 23:42:19
J-'-R a écrit a écrit : La table concernée
|
Es tu sur de n'avoir que cette requete dans ton script ??
280 ms c'est ton temps de generation d'une page ou seulement cette requete??
sinon je vois pas trop d'optimisations supplementaires ? ton s_id (s'il s'appelle comme ca) de ta table sujet est il un bien un champ mediumint(9) NOT NULL default '0' comme ta reference dans la table message ??
Sinon globalement essaye de ne pas mettre trop de champs de type text (ou alors en table separée)
m_id en clé primaire c'est bon et créer seulement un index sur sujet.
Sinon moi j'utilise mysql_fetch_row peut être que c'est plus rapide que mysql_fetch_array ??
tu extrait combien de ligne d'un coup ?? c'est peut etre juste une couille quand tu choisis tes limitation $limia et $limb ??
avec plus de script on verrai mieux
Marsh Posté le 16-06-2002 à 23:54:58
Citation : Es tu sur de n'avoir que cette requete dans ton script ?? |
cette requete seulement = 260 ms / 208 = toute la page
Citation : sinon je vois pas trop d'optimisations supplementaires ? ton s_id (s'il s'appelle comme ca) de ta table sujet est il un bien un champ mediumint(9) NOT NULL default '0' comme ta reference dans la table message ?? |
oui
Citation : Sinon globalement essaye de ne pas mettre trop de champs de type text (ou alors en table separée) |
il n y en a que deux
Citation : Sinon moi j'utilise mysql_fetch_row peut être que c'est plus rapide que mysql_fetch_array ?? |
je ne sais pas et je ne connais meme pas l autre
Citation : avec plus de script on verrai mieux |
le reste n est qu une suite de if et de echo qui servent a afficher
Marsh Posté le 17-06-2002 à 11:30:39
vous croyez que si je separe ma table en deux isolant les champs textes dans chaqu une d elle ca marchera mieux ?
Marsh Posté le 16-06-2002 à 15:11:20
La table concernée
CREATE TABLE messages (
m_id mediumint(9) NOT NULL auto_increment,
sujet mediumint(9) NOT NULL default '0',
message mediumtext NOT NULL,
nom tinytext NOT NULL,
date date NOT NULL default '0000-00-00',
heure time NOT NULL default '00:00:00',
img tinytext NOT NULL,
citation tinytext NOT NULL,
PRIMARY KEY (m_id)
) TYPE=MyISAM;
La requete concernée
$req02=mysql_query("SELECT * FROM messages WHERE sujet='$suj' ORDER BY date ASC, heure ASC LIMIT $lima,$limb" );
while($data=mysql_fetch_array($req02))
{
// instructions
}
Le probleme : je me tappe des temps de calcul ennorme
genre 280 ms
vous voyez pourquoi ?
je ne comprends pas
---------------
Perdu ? Vous êtes ici : --> *