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.
Dukel 468 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden