Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използване на varchar(MAX) срещу TEXT на SQL Server

VARCHAR(MAX) type е заместител на TEXT . Основната разлика е, че TEXT type винаги ще съхранява данните в blob, докато VARCHAR(MAX) type ще се опита да съхрани данните директно в реда, освен ако не надвиши ограничението от 8k и в този момент ги съхранява в blob.

Използването на израза LIKE е идентично между двата типа данни. Допълнителната функционалност VARCHAR(MAX) ви дава е, че също може да се използва с = и GROUP BY както всеки друг VARCHAR колона може да бъде. Въпреки това, ако имате много данни, ще имате огромен проблем с производителността, като използвате тези методи.

По отношение на това дали трябва да използвате LIKE за търсене или ако трябва да използвате Пълно текстово индексиране и CONTAINS . Този въпрос е един и същ независимо от VARCHAR(MAX) или TEXT .

Ако търсите големи количества текст и ефективността е ключова, тогава трябва да използвате Пълен текстов индекс .

LIKE е по-лесен за изпълнение и често е подходящ за малки количества данни, но има изключително лоша производителност с големи данни поради невъзможността да използва индекс.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да идентифицираме дублирането на първичния ключ от код за грешка на SQL Server 2008?

  2. VBA код за добавяне на свързана таблица с първичен ключ

  3. ADO.net SqlTransaction подобрява производителността

  4. Използвайте променлива с TOP в оператора select в SQL Server, без да го правите динамичен

  5. Какъв е най-добрият начин да изберете минималната стойност от няколко колони?