VARCHAR(MAX)
type zastępuje TEXT
. Podstawowa różnica polega na tym, że TEXT
type zawsze przechowuje dane w obiekcie blob, podczas gdy VARCHAR(MAX)
type spróbuje zapisać dane bezpośrednio w wierszu, chyba że przekroczy ograniczenie 8k i w tym momencie zapisze je w obiekcie blob.
Użycie instrukcji LIKE jest identyczne dla dwóch typów danych. Dodatkowa funkcjonalność VARCHAR(MAX)
daje ci to, że można go również używać z =
i GROUP BY
jak każdy inny VARCHAR
kolumna może być. Jeśli jednak masz dużo danych, przy użyciu tych metod będziesz miał ogromny problem z wydajnością.
W odniesieniu do tego, czy powinieneś używać LIKE
do wyszukiwania, lub jeśli powinieneś użyć indeksowania pełnego tekstu i CONTAINS
. To pytanie jest takie samo niezależnie od VARCHAR(MAX)
lub TEXT
.
Jeśli szukasz dużej ilości tekstu, a wydajność ma kluczowe znaczenie, powinieneś użyć pełnego indeksu tekstowego .
LIKE
jest prostszy w implementacji i często nadaje się do małych ilości danych, ale ma wyjątkowo słabą wydajność w przypadku dużych danych ze względu na niemożność użycia indeksu.