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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  MySQL : pb de ram perdue + requetes "sub select"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

MySQL : pb de ram perdue + requetes "sub select"

n°627004
Eric B
Posté le 31-01-2004 à 16:52:02  profilanswer
 

Bon, je me remets au SQL depuis qques jours, avec mySQL 3.23.49  installé sous WinXP via phpMyAdmin 2.5.5p1.
Premier soucis, et de taille, j'ai des fuites de RAM à cause de winMySqlAdmin : dans le gestionnaire de tâches de WinXP (performances/utlisation du fichier d'échange), ça monte, ça monte... De 180Mo, je suis déjà à 390Mo, et hier, ça a fait planté mon PC à 1.15Go !!  
Il faut que je ferme winMySqlAdmin pour redescendre à 200Mo.
Une idée du pb ? Je suis 'utilisateur avec pouvoir' sur mon PC.
 
D'autre part, j'ai repris mes TP PostgreSQL pour m'aider à faire quelques requètes, et j'ai du mal à croire que mySQL ne supporte pas les requètes imbriquées.
 
J'ai 2 tables, phpwebgallery_images (qui contient le champ 'id')et phpwebgallery_image_category (avec le champ 'image_id'). Eh oui, j'utilisePhpWebGallery !
Comme ma base n'a pas été très bien remplie, j'ai un nbre d'enregistrements dans les 2 tables précédantes. En gros, le fonctionnement de base de phpwebgallery tourne autour de 3 tables : _"category" qui définie les catégories/thèmes des photos, en reprenant les répertoires ; "_images" qui inscrit le nom de fichier et les commentaires de chq photo ; et "_image_category" qui met en relation les photos dans les category (2 champs : "image_id" et "category_id" ).
Donc logiquement, il y a autant d'enregirstrements dans la table "_image_category" que dans la table "_images" puisque chq photo est dans une seule catégorie (enfin, c'est possible de la mettre dans plusieurs catégories, mais cela n'est pas mon cas).
 
Donc, je voudrais donc sélectionner les images qui ne sont pas dans des categories (ma table "image_category" a 1498 entrées contre 1622 dans "images", donc je cherche les 125 erreurs).
J'ai essayé les différentes requètes suivantes mais aucune ne fonctionne (erreur #1064):
 

Code :
  1. SELECT `id` FROM `phpwebgallery_images` WHERE `storage_category_id` <> ALL (SELECT `category_id` FROM `phpwebgallery_image_category`);
  2. SELECT `id` FROM `phpwebgallery_images` WHERE `id` NOT IN (SELECT `image_id` FROM `phpwebgallery_image_category`);
  3. (SELECT `id` FROM `phpwebgallery_images`) EXCEPT (SELECT `image_id` FROM ` phpwebgallery_image_category`);
  4. (SELECT pi.id FROM phpwebgallery_images pi) EXCEPT (SELECT pic.image_id FROM phpwebgallery_image_category pic);
  5. (SELECT pi.id FROM phpwebgallery_images pi) OUTER JOIN (SELECT pic.image_id FROM phpwebgallery_image_category pic);
  6. SELECT pi.id FROM phpwebgallery_images pi
  7. WHERE NOT EXISTS (SELECT *
  8.    FROM phpwebgallery_image_category pic
  9.    WHERE pic.image_id = pi.id);
  10. SELECT pi.id FROM phpwebgallery_images pi
  11. WHERE (SELECT *
  12.        FROM phpwebgallery_image_category pic
  13.        WHERE pic.image_id <> pi.id);
  14. SELECT pi.id
  15. FROM phpwebgallery_images pi
  16. IN (
  17.     SELECT *
  18.     FROM phpwebgallery_image_category pic
  19.     WHERE pic.image_id = pi.id );
  20. SELECT `id`
  21. FROM ´phpwebgallery_images´, ´phpwebgallery_image_category´
  22. WHERE ´image_id´ <> ´id´;


 
Dans la doc mySQL ( http://www.mysql.com/doc/en/Comparison_Operators.html ), certains disent que les sub select ne sont pas possible. Vous confirmez ?
En fait, je suis sur le coup bien surpris des limites de mySQL... (ptet qu'il faut que je passe à la v4 ?) Je pensais postgreSQL / MySQL, c'est kif kif, mais là, non puisque mes requètes précédantes (il y a peut etre qques erreurs d'ailleurs) fonctionnaient bien sous postgreSQL...

mood
Publicité
Posté le 31-01-2004 à 16:52:02  profilanswer
 

n°627498
mrbebert
Posté le 01-02-2004 à 01:24:13  profilanswer
 

Pour les requêtes imbriquées, regarde la version 4 :)
 
(par contre, je sais pas si la syntaxe sera exactement la même [:figti] )


Message édité par mrbebert le 01-02-2004 à 01:26:03

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

  MySQL : pb de ram perdue + requetes "sub select"

 

Sujets relatifs
[MySQL] Aggrégation horaire + Trioù trouver la doc sur odbc pour interroger les bdd mysql en c++ ?
comment lire dans une base de données MySQL en c++ sous windows ?clés étrangères MySQL
configurer MySQL et PHP sur LinuxRequête SQL pour MySql
passage de php/mysql vers php/access : problemes [resolu][PHP] Connexion à MySQL
[MySQL] Récupérer la liste des tables[Javascript] disabled/enabled une liste déroulante (balise SELECT)
Plus de sujets relatifs à : MySQL : pb de ram perdue + requetes "sub select"


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