none
Strano comportamento UNION RRS feed

  • Domanda

  • Ho la seguente query

    select * from 
    (select a,b,c from View1 inner join View2 ...) u
    where u.a= @filtro

    che viene eseguita regolarmente in un paio di secondi.

    Nel momento in cui aggiungo una UNION

    select * from 
    (select a,b,c from View1 inner join View2 ...
    UNION ALL
    select a=NULL,B=NULL,c=NULL
    ) u
    where u.a= @filtro

    per rendere nullable i campi di uscita (mi serve per i campi non chiave delle entità in Entity Framework)

    il tempo di esecuzione della query sale a più di 2 minuti, tanto che devo interromperne l'esecuzione.

    Da cosa potrebbe dipendere ?


    giovedì 2 aprile 2015 07:03

Risposte

Tutte le risposte

  • Ciao, scusa non ho ben capito. Nella prima query metti in UNION ALL una riga con tutti null che poi però vai a filtrare  "where u.a@filtro" quindi la riga con tutti NULL non verrà mai presa in considerazione. Ho capito bene?


    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it

    giovedì 2 aprile 2015 07:22
  • Si esatto,

    lo facciamo per tutti i campi non chiave in modo che quando in Entity Framework

    lanciamo "update from Model" (es. nuova entità basata sulla vista)

    il sistema possa settare correttamente la proprietà "Entity Key"

    Grazie per l'aiuto.

    giovedì 2 aprile 2015 09:30
  • Bene, ma il tempo di esecuzione elevato lo ottieni eseguendo la query da SSMS?

    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it

    giovedì 2 aprile 2015 10:25
  • Si, da SSMS verso  un sql server 2012.

    giovedì 2 aprile 2015 12:11
  • Ciao.

    Senza la possibilità di replicare quanto descrivi è difficile aiutarti. Puoi fornire il DB?

    Hai provato ad esaminare i paini di esecuzione delle due query?

    Hai provato a manutenere il DB?


    vibi6

    giovedì 2 aprile 2015 22:13
  • Ciao, abbiamo rivisto la logica per la costruzione del Entity Model.

    Ti ringrazio comunque dell'aiuto.

    Ciao

    • Contrassegnato come risposta Staff Maxidata mercoledì 8 aprile 2015 12:10
    mercoledì 8 aprile 2015 11:54