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

Как се съхраняват стойностите на varchar в база данни на SQL Server?

Напълно безсмислено ограничение доколкото виждам. Приемайки стандартен FixedVar формат (за разлика от форматите, използвани с компресия на ред/страница или редки колони) и ако приемем, че говорите за varchar(1-8000) колони

Всички varchar данните се съхраняват в края на реда в секция с променлива дължина (или в странични страници, ако не могат да се поберат в реда). Размерът на пространството, което заема в този раздел (и дали завършва извън реда или не), зависи изцяло от дължината на действителните данни, а не от декларацията на колоната.

SQL Server ще използва дължината, декларирана в декларацията на колоната, когато разпределя памет (напр. за sort операции). Предположението, което прави в този случай е, че varchar колоните ще бъдат попълнени до Средно 50% от декларирания размер така че това може да е по-добре да разгледате, когато избирате размер.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мога ли да задам ignore_dup_key за първичен ключ?

  2. Задействане на SQL актуализиране само когато колоната е променена

  3. Удостоверяване на SQL Server срещу удостоверяване на Windows:Кое да се използва и кога

  4. Запознаване с вашето работно натоварване на SQL Server

  5. Най-ефективният начин в SQL Server за получаване на дата от дата+час?