I 2 Tabellen habe, '[Option], mit dem Feld [name] nvarchar (255) ' [Transaktion] mit dem Feld [short_description] nvarchar (3999)Ein großer 'wie' passende Abfrage
Und ich brauche also zu tun:
Select [Transaction].id, [Item].id
From [Transaction] inner join [Item]
on [Transaction].[short_description] like ('%' + [Item].[name] + '%')
Die oben genannten Arbeiten, wenn auf eine Handvoll Elemente beschränkt, sondern ungefiltert ist etwas mehr als 20 Minuten zu gehen und ich stornieren.
Ich habe einen NC-Index auf [Name], aber ich kann wegen seiner Länge nicht [short_description] indexieren.
[Transaction] has 320,000 rows
[Items] has 42,000.
Das sind 13.860.000.000 Kombinationen.
Gibt es eine bessere Möglichkeit, diese Abfrage durchzuführen? Ich habe im Volltext gestochert, aber ich bin nicht wirklich so vertraut, die Antwort war nicht, mich dort herauszuspringen.
Jeder Ratschlag geschätzt !!
Sie schließen sich einem Platzhalter an. Es gibt keine Möglichkeit, das schneller zu machen. Es muss jeden einzelnen Artikel mit jeder einzelnen Transaktion vergleichen. –
Dies könnte ein Fall sein, in dem Denormalisierung sinnvoll ist. Sie könnten eine separate Tabelle erstellen, um Artikelnamen und Kurzbeschreibungen von Transaktionen zu referenzieren. Trigger auf beiden Tabellen würden den Querverweis auf dem neuesten Stand halten.Wenn Sie veraltete Daten tolerieren könnten, könnten Sie auf Trigger verzichten und einen Job planen, um den Querverweis zu geeigneten Zeitpunkten zu aktualisieren. – HABO