Précédent   Forum des professionnels en informatique > Bases de données > Sybase
Sybase Forum sur la base de données Sybase. Avant de poster -> F.A.Q Sybase, Tutoriels Sybase
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 12/07/2011, 10h56   #1
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
Par défaut erreur Max_Cartesian_Result setting

Bonjour,

je lance un traitement et j'ai cette erreur:

Code :
Error: The optimizer was unable TO find a query plan that avoided cartesian product joins larger than the Max_Cartesian_Result setting
la requête qui donne cette erreur est la suivante:
Code :
1
2
3
4
5
6
7
 
UPDATE EXP_PRE_CO
SET TARIF_OPTIM_PONDERE = (case WHEN V_SUM_PAL <> 0
THEN ROUND(EXP.TARIF_OPTIM*exp.NB_PALETTE_reelle/V_SUM_PAL,2)
ELSE 0 END)
FROM EXP , #TP_CAL_P CAM
WHERE (EXP.NUM=CAM.V_NUM);
Pourtant il y a bien une jointure entre les tables, savez-vous pourquoi j'ai cette erreur svp?

Merci !!
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 14h42   #2
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Vous avez bien une jointure, mais la volumétrie de cette jointure dépasse la taille autorisée par votre serveur (par défaut 10 000 000 je crois).

L'option MAX_CARTESIAN_RESULT peut etre modifée temporairement afin que vous puissiez executer votre requete.
Il est necessaire cependant de connaitre la volumétrie totale de celle ci.

Vous pouvez aussi augmenter les conditions de jointures ou de filtres afin que la volumétrie baisse sensiblement (si possible).

Ou aussi faire en plusieurs fois votre update (en limitant la volumétrie de votre table temporaire par exemple).

Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 08h16   #3
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 300
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 300
Points : 1 504
Points : 1 504
Envoyer un message via AIM à mpeppler
Quelle est la cardinalité de EXP.NUM et de CAM.V_NUM?
Est-ce qu'ils sont tous les deux uniques?

Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler 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 06h27.


 
 
 
 
Partenaires

Hébergement Web