tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
291
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von atlantyz
    atlantyz atlantyz ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Ort
    Wetzlar (Hessen)
    Beiträge
    147
    Hallo,

    ich bin ein kompletter **** in MSSQL und der Server will auch einfach nicht so wie ich will.

    Ich habe eine Tabelle (View) mit etwas mehr als ein paar Millionen Einträgen. Viele davon sind doppelt, sodass man auf eine tatsächliche Anzahl von etwa 400.000 unterschiedlichen Einträgen kommt.

    In der Tabelle sind folgende Spalten enthalten:
    Key, Name, Vorname, Straße, PLZ, Ort

    Nun möchte ich gerne die doppelten Einträge bei der Abfrage aussortieren, d.h alle einträge anhand des Key zusammenfassen (dieser kann mehrfach vorkommen). Aber meine Frage: wie mache ich das?

    Ich hab mir "Distinct" angeschaut, aber das funktioniert irgendwie nicht wirklich. Bei folgender Abfrage:

    Code :
    1
    
    select Distinct Key, Name, Vornam, Strasse, PLZ, Ort from View1
    dauert die Abfrage immer noch endlos lange und ich laufe in einen Timeout.

    Wenn ich nur
    Code :
    1
    
    select Distinct Key, Name, Vorname from View1
    mache, geht es zwar superschnell und er macht auch das, was er tun soll, aber dann fehlen mir halt die anderen Felder.

    Group by hab ich mir auch angeschaut, aber wenn ich da nach Key sortiere, labert er mich mit irgendwas voll, dass die anderen Felder keinen Aggregatzustand hätten, was immer das auch heißen mag.

    Kann mir bitte einer helfen? DEr Server treibt mich noch zur Verzweiflung.

    Gruß
    Joey
     
    Nur sprechenden Menschen kann geholfen werden...

  2. #2
    Avatar von j2se
    j2se j2se ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    94
    Blog-Einträge
    1
    Kannst Du mir bitte das CREATE TABLE posten, welches für die Erstellung der Tabelle verwendet worden ist.

    Falls ein Index vorhanden ist, sollten sich DISTINCT und GROUP BY in der Performance nicht unterscheiden.

    Wenn diese Abfrage oft verwendet wird, kommt eine Materialisierung der Daten in Frage.
     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 09.02.10, 17:44
  2. Frage zu einer MSSQL Abfrage - gruppieren?
    Von samke im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 08.02.09, 18:59
  3. Antworten: 1
    Letzter Beitrag: 16.01.08, 10:15
  4. Antworten: 0
    Letzter Beitrag: 15.01.08, 14:24
  5. document.write - Zeilen über bereits geschriebene Zeilen schreiben
    Von Sven Petruschke im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 14.07.03, 08:37