Hallo,
gab's hier im Forum nicht mal eine Rubrik Datenbanken? Irgendwie ist mir so. Naja, dann poste ich mal hier ...
Ich habe eine Tabelle (SQL Server 2000), die relativ alt ist und nun im Zuge der Einführung einer neuen Software in eine neue Struktur resp. Tabelle überführt werden soll. In der alten gibt es ein Feld mit dem Datentyp text, dieses möchte ich gern nach varchar(500) übernehmen (habe gelesen, dass text nicht mehr zeitgemäß ist und auch demnächst nicht mehr angeboten werden soll). Allerdings gibt es einige Sätze, bei denen in diesem Feld bis zu 3000 Zeichen stehen. Diese Infos sollen nicht verloren gehen.
Ich habe meines Erachtens nach jetzt zwei Möglichkeiten:
1. Ich versuche, die längeren Texte aufzusplitten und in mehrere Positionen aufzuteilen. Sieht nicht sehr schick aus, beträfe aber nur die älteren Vorgänge. Alle mit der neuen Software erstellten Vorgänge beträfe es nicht. Und es müßte eigentlich immer noch recht performant sein.
2. Ich nutze einfach ein deutlich größeres varchar-Feld, eben zb. varchar(3000). Nur hier weiß ich nicht, wo die Nachteile liegen. Ich vermute nur, dass es sie gibt. Dieser Platz würde von einem Minimum der Sätze benötigt, wie verhält es sich dann mit dem Speicherplatzverbrauch? Welche Einbußen muss ich in der Performance hinnehmen (auch und gerade bei einer LIKE-Abfrage)?
Ich nehme mal an, alles ist besser als text, aber wenn ich es schon neu mache, würde ich es natürlich auch gern richtig machen.
Ich bin für jeden Tip oder Hinweis dankbar ...
Dave
gab's hier im Forum nicht mal eine Rubrik Datenbanken? Irgendwie ist mir so. Naja, dann poste ich mal hier ...
Ich habe eine Tabelle (SQL Server 2000), die relativ alt ist und nun im Zuge der Einführung einer neuen Software in eine neue Struktur resp. Tabelle überführt werden soll. In der alten gibt es ein Feld mit dem Datentyp text, dieses möchte ich gern nach varchar(500) übernehmen (habe gelesen, dass text nicht mehr zeitgemäß ist und auch demnächst nicht mehr angeboten werden soll). Allerdings gibt es einige Sätze, bei denen in diesem Feld bis zu 3000 Zeichen stehen. Diese Infos sollen nicht verloren gehen.
Ich habe meines Erachtens nach jetzt zwei Möglichkeiten:
1. Ich versuche, die längeren Texte aufzusplitten und in mehrere Positionen aufzuteilen. Sieht nicht sehr schick aus, beträfe aber nur die älteren Vorgänge. Alle mit der neuen Software erstellten Vorgänge beträfe es nicht. Und es müßte eigentlich immer noch recht performant sein.
2. Ich nutze einfach ein deutlich größeres varchar-Feld, eben zb. varchar(3000). Nur hier weiß ich nicht, wo die Nachteile liegen. Ich vermute nur, dass es sie gibt. Dieser Platz würde von einem Minimum der Sätze benötigt, wie verhält es sich dann mit dem Speicherplatzverbrauch? Welche Einbußen muss ich in der Performance hinnehmen (auch und gerade bei einer LIKE-Abfrage)?
Ich nehme mal an, alles ist besser als text, aber wenn ich es schon neu mache, würde ich es natürlich auch gern richtig machen.
Ich bin für jeden Tip oder Hinweis dankbar ...
Dave
Comment