Wie man am besten eine partielle Textes entsprechen in SQL Server 2008

Habe ich eine große (1 TB) - Tabelle in SQL Server 2008, die wie folgt aussieht:

ID int | Flag BIT | Notes NTEXT

Ich suchen müssen jeder Zeile und legen Sie die Flag bit auf 1, wo Noten enthält das Wort flip

Ist

UPDATE Table SET Flag = 1
WHERE Notes LIKE '%flip%'

dem 'besten' Weg, es zu tun?

Ich denke, das könnte Tage dauern, um zu laufen, auf einem so großen Tisch. Ich habe versucht, läuft eine

SELECT TOP (10) * FROM Table
WHERE Notes LIKE '%flip%'

und es läuft immer noch nach 10 Minuten - also performance ist nicht gut.

Wäre das erstellen einer C# - app zum Lesen/aktualisieren jede Zeile eine bessere Methode. Wenigstens konnte ich dann die änderung in bits ohne das sperren der Tabelle für die Tage.

Gibt es andere Methoden, die ich in Betracht ziehen sollte?

  • Beachten Sie, dass die Volltext-Indizierung nicht helfen, für suffix-oder mid-term-Muster-matching, wie Sie sind, die Angabe hier (ie Führenden wildcard-Begriff suchen). stackoverflow.com/questions/1758393/...
  • Sie könnten auch beachten Sie, dass ntext veraltet ist, müssen Sie ändern das Feld Definition in nvarchar(max).
InformationsquelleAutor Mr. Flibble | 2009-11-19
Schreibe einen Kommentar