Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
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 23/02/2011, 23h44   #1
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 36
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 36
Points : 25
Points : 25
Par défaut Comportement bizare sur une requete

Salut,
j'ai un comportement que je ne comprend pas:
sur une tres grosse, j'ai dans le where un
Code :
co.matricule IN (SELECT co.matricule  FROM ...)
matricule est une chaine de caractere, la requete tourne

par contre, pour optimiser la requete j'ai voulu utiliser la cle primaire de la table co qui devrais etre plus rapide puisque l'on aura plus de comparaison de chaine.

j'ai donc changé en :
Code :
co.id_collab IN (SELECT co.id_collab FROM ...)
et là oracle rale car il n'as assez de place sur TEMP pour exécuter la requete.

Ce que je ne comprend pas c'est que ce changement devrait alléger au contraire le traitement...
QQ1 aurait une explication a proposer? j'aimerais comprendre...
pschiit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 10h53   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 993
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 993
Points : 18 246
Points : 18 246
Envoyer un message via MSN à CinePhil
J'ai l'impression que tu pourrais remplacer ce WHERE... IN... SELECT par une jointure.

Donne ta requête complète et la description des tables.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h28.


 
 
 
 
Partenaires

Hébergement Web