|
Bas de page | |
---|---|
Auteur | Sujet : [SQL] une seule requête au lieu de deux... |
Publicité | Posté le 24-06-2008 à 10:17:52 |
Harkonnen ModérateurUn modo pour les bannir tous |
Message édité par Harkonnen le 24-06-2008 à 10:40:45 --------------- J'ai un string dans l'array (Paris Hilton) |
carborom |
|
couak | http://dev.mysql.com/doc/refman/5. [...] p-row.html
|
carborom | Et bien merci, ça a l'air de fonctionner
|
MagicBuzz | bah même si t'es pas fan, c'est la seule solution standard qui existe |
carborom | Je suis pas fan, car celà implique l'utilisation d'un subselect,
|
avander | y'a peut-être moyen de le faire en une fois avec le 'hack' du substring en mysql... on en parlait dans ce topic et c'est la solution que j'ai adopté finalement. Message édité par avander le 02-07-2008 à 09:54:04 |
carborom | Effectivement, j'ai simulé 50000 enregistrements dans ma table principale,
|
carborom | Premièrement, voici les deux tables de test : http://pastebin.com/f23086f34
10 rows in set (1 min 31.95 sec)
10 rows in set (1 min 49.53 sec)
10 rows in set (7.20 sec)
10 rows in set (0.19 sec)
|
Publicité | Posté le 02-07-2008 à 15:52:10 |
MagicBuzz | si c'estaussi lent avec la sous-requête, c'est qu'il y a un problème dans ta requête ou tes index. normalement le plan d'exécution ne tiens pas compte de la sous-requête
Message édité par MagicBuzz le 02-07-2008 à 16:16:10 |
carborom | Les tables sont crées telle que décrit dans le script, donc pas d'index.
Message édité par carborom le 02-07-2008 à 16:34:15 |
MagicBuzz | c'est surtout évident que MySQL c'est de la merde
Message édité par MagicBuzz le 02-07-2008 à 17:26:00 |
MagicBuzz | En modifiant la requête (je prends id et non ts pour ne plus avoir de doublons) et en créant un index :
Message édité par MagicBuzz le 02-07-2008 à 17:41:34 |
carborom | Pourquoi détourner le problème vers SQL Server 2005 Express ?
Message édité par carborom le 02-07-2008 à 17:37:43 |
MagicBuzz | c'est juste que moi je dis que je jette l'éponge quand il s'agit d'écrire une requête pour mysql.
|
MagicBuzz | ps: et ne pas créer d'index sur ce genre de table, c'est du suicide... une table de log, ça peut rapidement contenir des millions d'enregistrement, mais leur ajout n'est pas suffisant pour pouvoir ralentir le système si la table est indexée. bref, tu vas effondrer le serveur lors des requêtes de selection, sans pour autant ne rien gagner sur l'exploitation générale |
MagicBuzz | teste quand même ma solution sans sous-requête.
Message édité par MagicBuzz le 02-07-2008 à 17:48:43 |
carborom | je refairais ptet les tests avec un index demain, juste pour voir
Message édité par carborom le 02-07-2008 à 17:55:47 |
carborom | And the winner is ...
Message édité par carborom le 02-07-2008 à 19:55:39 |
MagicBuzz | assez logique que la requête avec le having soit très lente, étant donné qu'elle se paluche un produit cartésien |
carborom | Mais c'est pas la plus lente
Message édité par carborom le 03-07-2008 à 12:32:21 |
MagicBuzz | normal, mysql gère assez mal les max().
Message édité par MagicBuzz le 03-07-2008 à 12:37:16 |
Publicité | Posté le |
Sujets relatifs | |
---|---|
[ORACLE] problème requête (pour les chauds du SQL) | Formulaire Php - Sql |
Réduire une seule colonne d'un tableau | [hibernate][RESOLU]insertion, update OK, lecture avec requete HQL KO |
requete flux xml avec curl | [Résolu] Requete Access |
[SQL] Requete possible ? | problème exécution de requête |
Plus de sujets relatifs à : [SQL] une seule requête au lieu de deux... |