mo301080 0 Geschrieben 3. März 2021 Melden Teilen Geschrieben 3. März 2021 In der Tabelle KBitAllgemeineDokumente gibt es ein Feld Volltext (XXVOLLTEXT). Dazu gibt es am SQL-Server einen Volltext-Katalog an. Saperion (Archivierungssoftware) füllt das Feld XXVOLLTEXT bei der Archivierung und der SQL-Server füllt dann den Volltext-Katalog. Nur in einem Treffer ist der gesuchte Wert wirklich enthalten. Die Suche über den Volltext-Katalog liefert aber 5 Treffer. Suche ich nur in dem von Saperion befüllten Feld erhalte ich 1 Treffer: SELECT * FROM [KBitAllgemeineDokumente] where [XXVolltext] like '%0102013298%': Suche ich über den Volltext-Katalog erhalte ich 5 Treffer: SELECT * FROM [KBitAllgemeineDokumente] INNER JOIN CONTAINSTABLE ( [KBitAllgemeineDokumente], [XXVolltext], '0102013298') AS KEY_TBL1 ON [KBitAllgemeineDokumente].XXSYSID= KEY_TBL1.[KEY] Eine Suche nur im von Saperion befüllten Feld ist keine Lösung, da dies bei einer Like-Suche mit Platzhalter vorne jedes Mal einen FullTableScan auf der Datenbank verursacht, da die Indizes nicht verwendet werden und dies führt zu extremen Performance-Einbußen und lastet den SQL-Server extrem aus. Auch ein Neuaufbau des Volltext-Katalogs hat das Problem nicht behoben. Zitieren Link zu diesem Kommentar
Dukel 457 Geschrieben 3. März 2021 Melden Teilen Geschrieben 3. März 2021 Wie wäre es mit einer Volltextsuche und keine Like? https://docs.microsoft.com/en-us/sql/relational-databases/search/query-with-full-text-search?view=sql-server-ver15 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.