Frage

Ich habe diese Abfrage auf meinem Entwicklerserver:

select
    snStudyNumber as ProjectNumber
from CDB.cdb.Quotes q
    inner join CDB.cdb.LineItems l
        on q.PK_quID=l.FK_quID
    inner join CDB.cdb.StudyNumbers s
        on l.FK_snID=s.PK_snId
    left outer join ardb.projects p
        on s.snStudyNumber=p.prProjectNumber
    left outer join b
        on s.snStudyNumber=b.studynumber
where q.quDateWon>''
    and s.snPTWCompletionDate >''
    and p.PK_prID is null
    and l.liCreationDate>'12/31/06'
    and b.studynumber is null
union all

select CAST(ProjectNumber AS int)
from history.ProjectsToProcess a
    left outer join ardb.projects p
        on a.ProjectNumber=p.prProjectNumber
where p.PK_prID is null

order by ProjectNumber desc

Dies funktionierte bis gestern auf dem Dev -Server in Ordnung. Jetzt dauert es ungefähr 1 1/2 Minuten, um zu laufen. Auf dem Testserver funktioniert es jedoch gut.

Hier ist der seltsame Teil. Wenn ich die Abfrage von Dev so modifizierte, dass eine der linken äußeren Verknüpfungen (entweder eins) herausgenommen wird, würde sie gut laufen (aber der falsche Datensatz). Wenn ich die Join zurück hinzufügte, wurde es wieder verlangsamt.

Auch die Daten zwischen den Servern liegen innerhalb von 90% Ähnlichkeit. Struktur und Menge weise.

Ich habe auch versucht, den Dev -Server neu zu starten, aber das hat das Problem nicht behoben.

Was könnte diese Diskrepanz verursachen? Wo soll ich suchen?

Bearbeiten- OK, also habe ich in den Ausführungsplänen etwas verpasst. Der Testserver (der funktioniert) befindet sich links, der Dev -Server rechts.Difference 1 Difference 2

War es hilfreich?

Lösung

Klingt so, als ob Ihre Statistiken veraltet sind. Führen Sie die Aktualisierungsstatistiken auf den Tabellen auf dem Server aus und prüfen Sie, ob dies das Problem behebt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top