Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes 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 25/02/2011, 13h33   #1
Invité de passage
 
Inscription : février 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 3
Points : 0
Points : 0
Par défaut Lenteur sur linux comparativement a Windows

Bonjour,

Sur une même table dans une BDD Mysql Linux 64bits ou sur Windows 32bits ont a ceci:

Exemple de REQUETE:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT count(chemicals.count) FROM chemicals 
LEFT JOIN chemicals_lots ON chemicals.count=chemicals_lots.chem_id 
WHERE (chemicals.name LIKE '%%' 
  OR date_updated LIKE '%%' 
  OR date_created LIKE '%%' 
  OR LCASE(chemicals.comments) LIKE '%%' 
  OR chemicals.codebar_ori LIKE '%%' 
  OR chemicals.brand_ref LIKE '%%' 
  OR chemicals.seller_ref LIKE '%%' 
  OR chemicals.brand_ref LIKE '%%' 
  OR Storage LIKE '%%' 
  OR Amount LIKE '%%' 
  OR (chemicals_lots.number LIKE '%%' 
  OR chemicals_lots.comments LIKE '%%')
) AND secret < 1 
GROUP BY chemicals.count ;
le benchmark donne:

***LINUX Mysql 5.1.52 (2 machines Linux testées avec même résultat)
/* 0 rows affected, 5 893 rows found. Duration for 1 query: 7.815 sec. (+ 0.063 sec. network) */

***WIN32 Mysqm 5.1.47
/* 0 rows affected, 5 893 rows found. Duration for 1 query: 0.171 sec. */

Qulequ'un aurait une idée de ce qui pourrait limiter la vistesse de la requête sur LINUX sachant que les données sont identiques dans les 2 cas??

Merci!!!
pirod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 14h26   #2
Invité de passage
 
Inscription : février 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 3
Points : 0
Points : 0
Par défaut index

bon, en ajoutant un INDEX sur chemicals_lots.chem_id cela aide beaucoup et on passe à 0.3sec sur Linux.

Le benefice des INDEX semble donc OS dépendant...
pirod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 14h42   #3
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
Bonjour

La différence peut être expliquée par des configurations différentes :
rapidité/nombre du/des disque(s), quantitié de RAM disponible pour le SGBD,...
et tout un tas d'autres paramètres.

Par contre, j'ai eu beau relire plusieurs fois... j'ai du mal a comprendre le but de votre filtre ?
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 15h40   #4
Invité de passage
 
Inscription : février 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 3
Points : 0
Points : 0
Par défaut filtre

Avec l'INDEX sur le champs de jointure, le probleme est resolu.

Concernant votre question: Le filtre de cette requête est un moteur de recherche par mot-clefs divers sur plusieurs champs de la table principale et sur la jointe (réactifs et leurs lots associés).
pirod est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h58.


 
 
 
 
Partenaires

Hébergement Web