Udostępnij za pośrednictwem


Using text and image Data

Important noteImportant Note:

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Użycie varchar(max), nvarchar(max) i varbinary(max) Zamiast tego typy danych. Aby uzyskać więcej informacji zobaczUsing Large-Value Data Types.

Microsoft SQL Server przechowywane są dłuższe niż 8000 znaków i dłuższy niż 8000 bajtów danych binarnych ciągów znaków w przypadku typów danych szczególne o nazwie text i image. Ciągi Unicode, dłużej niż 4000 znaków są przechowywane w ntext Typ danych.

Na przykład pliku dużych tekstowego (.txt), informacje o klientach muszą być importowane do programu SQL Server Baza danych. Te dane powinny być przechowywane jako jeden fragment danych zamiast do wielu kolumn tabel danych.Można utworzyć kolumna z text Typ danych w tym celu. Jednak jeśli muszą być przechowywane aktualnie przechowywane w postaci obrazów Tagged Image File Format (TIFF) (tif), które są 10 KB logo firmy, należy utworzyć kolumna z image Typ danych.

W przypadku danych tekstowych, które mają być przechowywane w formacie Unicode, należy użyć ntext Typ danych. Na przykład dla klientów międzynarodowych listu seryjnego jest mogących zawierać pisowni międzynarodowe i znaki różnych języków.Przechowywać te dane w ntext Kolumna.

Każdy text i ntext wartość danych ma sortowanie. Sortowanie definiować atrybuty, takie jak reguły porównywania i czułość przypadek lub accenting.Ustawienia sortowania dla text wartości również określić strona kodowa, która definiuje wzorców bit używany do reprezentowania poszczególnych znaków. Każdy ntext wartość używa strona kodowa Unicode, który jest taki sam dla wszystkich ustawień sortowania. Każda baza danych ma domyślnym sortowaniem.Gdy text lub ntext Kolumna jest tworzona, jest przypisany domyślnym sortowaniem w bazie danych, chyba że przypisanie określonych sortowanie, przy użyciu klauzula COLLATE. Jeśli dwa text lub ntext wartości o różnych ustawień sortowanie są łączone lub porównywane, reguły mają priorytet sortowanie określają, sortowanie, które jest używane dla operacji.

Dane w image dane są przechowywane jako ciąg bitów i nie jest interpretowany przez SQL Server. Wszelkie interpretacji danych w image kolumna muszą być wykonane przez aplikację. Na przykład, aplikacja może przechowywać dane w image Kolumna w formacie BMP, TIFF, GIF lub JPEG. Aplikacja odczytującego dane z image Kolumna musi rozpoznać formatu danych i poprawnie wyświetlać. Wszystkie image czy kolumna jest zapewnienie lokalizacji do przechowywania strumienia bitów, które składają się na wartość danych obrazu.

Używanie tekstu w wierszu do Sklepu tekst, ntext i wartości obrazu

Na ogół text, ntext, lub image ciągi są duży, maksymalnie 2 GB, znak lub ciąg binarny przechowywany poza programem wiersz danych. Wiersz danych zawiera tylko wskaźnik 16-bajtowy tekst, który wskazuje na węzła głównego drzewa zbudowany z wewnętrznych wskaźników, które są mapowane na stronach, w którym są przechowywane fragmenty ciągów.

Z SQL Server, można przechowywać mały, aby nośnika text, ntext, a image wartości w wierszu danych, zwiększając szybkość kwerend dostęp do tych wartości.

Gdy text, ntext, lub image ciąg jest przechowywany w wierszu danych SQL Server nie ma dostępu do osobną strona lub zestaw stron do odczytu lub zapisu ciągu. Dzięki temu, Odczyt i zapis text, ntext, lub image ciągi znaków o tak szybka jak Odczyt lub zapis w wierszu varchar, nvarchar, lub varbinary ciągi znaków.

Do przechowywania text, ntext, lub image Włącz ciągów znaków w wierszu danych tekst w wierszu Opcja używającsp_tableoption procedura przechowywana.

sp_tableoption N'MyTable', 'text in row', 'ON';

Opcjonalnie można określić maksymalnie od 24 do 7000 bajty długości text, ntext, a image ciąg przechowywane w wierszu danych:

sp_tableoption N'MyTable', 'text in row', '1000';

Jeśli określisz "ON" zamiast określonego limitu limit domyślnie 256 bajtów.Ta wartość domyślna zawiera większość korzyści wydajności: Jest wystarczająco duży, aby zapewnić, że ciągi małych i wskaźniki tekstu głównego mogą być przechowywane w wierszach, ale nie tak duża że zmniejsza ona wierszy na każdej stronie wystarczająco wpłynąć na wydajność.

Mimo że ogólnie rzecz biorąc, nie należy ustawiać wartości poniżej 72, również nie należy ustawiać wartość zbyt duża, szczególnie w przypadku tabel, z których większość instrukcji nie odwołania text, ntext, i image kolumny albo nie ma wielu text, ntext, a image kolumny.

Można również użyć sp_tableoption , aby wyłączyć tę opcję, określając wartość opcji albo 'OFF' lub 0:

sp_tableoption N'MyTable', 'text in row', 'OFF';