Hello,
J'ai la requête suivante qui mets un temps qui me parait invraisemblable (une vingtaine de secondes à être traitée) pour quelques milliers d'enregistrements à parcourir.
Je travaille sur un serveur Mysql 5.
Le but de la requête est d'extraire des documents dans un état particulier, et qui ne doivent pas voir de documents rattachés
(concrètement des factures sans avoirs)
SELECT `id_doc` FROM `docs` WHERE `id_type` = '4' AND `etat` != '7'
AND `id_doc` NOT IN ( SELECT `id_doc_pere`
FROM `docs`
WHERE `id_type` = '5')
ORDER BY `date_echeance` DESC;
|
Je n'utilise pas régulièrement les requêtes imbriquées, et vu le temps de traitement de la requête, je me demande si je ne devrais pas faire 2 requetes et effectuer mon filtrage via mon langage de programmation.
Est-ce que je m'y prends comme un manche ? ou suis-je limité par autre chose ?
Message édité par PunkRod le 27-09-2007 à 15:10:58