IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sybase Discussion :

erreur Max_Cartesian_Result setting


Sujet :

Sybase

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 283
    Points : 62
    Points
    62
    Par défaut erreur Max_Cartesian_Result setting
    Bonjour,

    je lance un traitement et j'ai cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !!

  2. #2
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    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)

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    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

Discussions similaires

  1. Erreur "Result set after last row"
    Par otmaneo01 dans le forum JDBC
    Réponses: 1
    Dernier message: 27/03/2015, 14h49
  2. Erreur dans settings.py ?
    Par Pierrot92320 dans le forum Django
    Réponses: 1
    Dernier message: 21/03/2014, 17h10
  3. Erreur accesseur set
    Par beni34 dans le forum C#
    Réponses: 7
    Dernier message: 20/04/2009, 14h55
  4. Réponses: 6
    Dernier message: 21/07/2008, 10h27
  5. Réponses: 13
    Dernier message: 27/02/2007, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo