mo301080 0 Geschrieben 3. März 2021 Melden 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
Dukel 461 Geschrieben 3. März 2021 Melden 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
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.