2008-09-26 9 views

Odpowiedz

46

W SQL 2005 i wyższych, VARCHAR (MAX) jest rzeczywiście preferowaną metodą. Typ TEXT jest nadal dostępny, ale przede wszystkim ze względu na zgodność wsteczną z SQL 2000 i niższymi.

10

Lubię używać VARCHAR (MAX) (lub faktycznie NVARCHAR), ponieważ działa jak standardowe pole VARCHAR. Od czasu jego wprowadzenia używam go zamiast pól tekstowych, kiedy tylko jest to możliwe.

+4

Bardzo dobry punkt o NVARCHAR; moje złe - powinienem był o tym wspomnieć. –

2

W BLOB

Plamy są bardzo duże lub postaci binarne dane zmienne, zwykle dokumenty (.txt, .doc) oraz zdjęć (jpeg, gif, bmp), które mogą być przechowywane w bazie danych . W SQL Server, BLOB może być tekst, ntext lub typ danych obrazu, można użyć typu tekstowego

tekstowych

o zmiennej długości danych non-Unicode, zapisane w kodzie strony serwera, z maksymalna długość 231 - 1 znaków (2 147 483 647).

2

Zgodnie z tekstem znalezionym here, varbinary (max) to do zrobienia. Będziesz mógł przechowywać około 2 GB danych.

2

Varchar (max) jest dostępny tylko w SQL 2005 lub nowszym. To będzie przechowywać do 2 GB i może być traktowane jako zwykły varchar. Przed SQL 2005 użyj typu "tekst".

2

Podziel tekst na fragmenty, które może obsłużyć twoja baza danych. I umieść podzielony tekst na inną tabelę. Użyj tabeli id z tabeli text_chunk jako text_chunk_id w oryginalnej tabeli. Możesz potrzebować innej kolumny w tabeli, aby zachować tekst pasujący do największego typu danych tekstowych.

CREATE TABLE text_chunk (
    id NUMBER, 
    chunk_sequence NUMBER, 
    text BIGTEXT) 
+4

Wydaje się to bardzo duże; jakiś kontekst dotyczący tego, kiedy ta technika jest wymagana lub właściwa w porównaniu z nvarchar, a jakie koszty/korzyści poprawiłyby jakość tego rozwiązania. – SAJ14SAJ

0

Zastosowanie nvarchar(max) przechowywać cały wątek czat w jednym rekordzie. Każda pojedyncza wiadomość tekstowa (lub blok) jest identyfikowana w tekście treści poprzez wstawianie znaczników.

Przykład:

{{UserId: Date and time}}<Chat Text>. 

Na wyświetlaczu czas UI powinny być wystarczająco inteligentny, aby zrozumieć ten markery i wyświetlać je poprawnie. W ten sposób jeden rekord powinien wystarczyć do pojedynczej rozmowy, o ile nie zostanie osiągnięty limit rozmiaru.

Powiązane problemy