sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af varchar(MAX) vs TEXT på SQL Server

VARCHAR(MAX) type er en erstatning for TEXT . Den grundlæggende forskel er, at en TEXT type vil altid gemme dataene i en klat, hvorimod VARCHAR(MAX) type vil forsøge at gemme dataene direkte i rækken, medmindre den overskrider 8k-begrænsningen og på det tidspunkt gemmer den i en klat.

Brug af LIKE-sætningen er identisk mellem de to datatyper. Den ekstra funktionalitet VARCHAR(MAX) giver dig er, at den også kan bruges med = og GROUP BY som enhver anden VARCHAR kolonne kan være. Men hvis du har mange data, vil du have et stort ydeevneproblem ved at bruge disse metoder.

Med hensyn til om du skal bruge LIKE for at søge, eller om du skal bruge Fuld tekstindeksering og CONTAINS . Dette spørgsmål er det samme uanset VARCHAR(MAX) eller TEXT .

Hvis du søger i store mængder tekst, og ydeevne er nøglen, bør du bruge et Fuld tekstindeks .

LIKE er enklere at implementere og er ofte velegnet til små mængder data, men den har ekstremt dårlig ydeevne med store data på grund af dens manglende evne til at bruge et indeks.



  1. ORA-00903:ugyldigt tabelnavn på PreparedStatement

  2. Java:Kaldning af en lagret procedure i en oracle-database

  3. få seneste tre måneders optegnelser fra tabellen

  4. Log ind med eksterne tjenester