sql >> Databáze >  >> RDS >> Sqlserver

Použití varchar(MAX) vs TEXT na SQL Server

VARCHAR(MAX) type je náhrada za TEXT . Základní rozdíl je v tom, že TEXT typ bude vždy ukládat data do blob, zatímco VARCHAR(MAX) type se pokusí uložit data přímo do řádku, pokud nepřekročí limit 8 kB, a v tom okamžiku je uloží do blob.

Použití příkazu LIKE je mezi těmito dvěma datovými typy identické. Další funkce VARCHAR(MAX) vám je, že jej lze také použít s = a GROUP BY jako jakýkoli jiný VARCHAR sloupec může být. Pokud však máte hodně dat, budete mít při použití těchto metod velký problém s výkonem.

Pokud jde o to, zda byste měli použít LIKE pro vyhledávání, nebo pokud byste měli použít Indexování celého textu a CONTAINS . Tato otázka je stejná bez ohledu na VARCHAR(MAX) nebo TEXT .

Pokud prohledáváte velké množství textu a výkon je klíčový, měli byste použít Fulltext Index .

LIKE je jednodušší na implementaci a je často vhodný pro malá množství dat, ale má extrémně špatný výkon s velkými daty kvůli nemožnosti použít index.



  1. Přehled nástrojů databázových diagramů dostupných pro PostgreSQL

  2. Nahradit do syntaxe dotazu

  3. Jak vrátit všechna zakázaná omezení cizích klíčů v SQL Server (příklad T-SQL)

  4. Jak Cos() funguje v PostgreSQL