Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Używanie varchar(MAX) vs TEXT na SQL Server

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kopia zapasowa na poziomie tabeli

  2. Klucz obcy do wielu tabel

  3. Jak zidentyfikować duplikację klucza podstawowego z kodu błędu programu SQL Server 2008?

  4. Jak naprawić „Schemat partycji ‚…’ nie ma żadnej następnej używanej grupy plików” w SQL Server

  5. Połączenie z serwerem SQL czasami działa