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

Последователност срещу идентичност

Мисля, че ще намерите отговора си тук

Използвайки атрибута identity за колона, можете лесно да генерирате автоматично увеличаващи се числа (които често се използват като първичен ключ). С Sequence това ще бъде различен обект, който можете да прикачите към колона, която може да бъде поместена, докато вмъквате. За разлика от identity, следващото число за стойността на колоната ще бъде извлечено от паметта, а не от диска – това прави Sequence значително по-бърза от Identity. Ще видим това в следващите примери.

И тук:

Последователности:Последователностите са били заявени от общността на SQL Server от години и са включени в тази версия. Последователността е дефиниран от потребителя обект, който генерира поредица от число. Ето един пример за използване на последователност.

и тук също:

Обект на последователност на SQL Server генерира последователност от числа точно като колона за идентичност в sql таблици. Но предимството на последователните номера е, че обектът с номер на последователност не е ограничен с единична sqltable.

и на msdn можете също да прочетете повече за използването и защо ни е необходимо (тук):

Последователността е дефиниран от потребителя обект, свързан със схема, който генерира поредица от числови стойности според спецификацията, с която е създадена последователността. Последователността от числови стойности се генерира във възходящ или низходящ ред на определен интервал и може да се повтаря (повтаря се), както е поискано. Последователностите, за разлика от колоните за идентичност, не са свързани с таблици. Приложението се отнася до обект на последователност, за да получи следващата си стойност. Връзката между последователностите и таблиците се контролира от приложението. Потребителските приложения могат да препращат обект на последователност и да координират ключовете за стойности в множество редове и таблици.

Последователност се създава независимо от таблиците с помощта на оператора CREATESEQUENCE. Опциите ви позволяват да контролирате увеличението, максималните и минималните стойности, началната точка, възможността за автоматично рестартиране и кеширането за подобряване на производителността. За информация относно опциите вижте СЪЗДАВАНЕ НА ПОСЛЕДОВАТЕЛНОСТ.

За разлика от стойностите на колоните за идентичност, които се генерират при вмъкване на редове, приложението може да получи следващия пореден номер преди да вмъкне реда, като извика функцията NEXT VALUE FOR. Поредният номер се разпределя, когато се извика NEXT VALUE FOR, дори ако числото никога не е вмъкнато в таблица. Функцията NEXT VALUE FOR може да се използва като стойност по подразбиране за колона в дефиниция на таблица. Usesp_sequence_get_range, за да получите диапазон от множество последователни номера наведнъж.

Последователност може да бъде дефинирана като всеки целочислен тип данни. Ако типът на данните не е посочен, по подразбиране последователността е bigint.



  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

  2. Елементите ORDER BY трябва да се появят в списъка за избор, ако е посочено SELECT DISTINCT

  3. SQL Server Resumable Index:Добре ли е за вас?

  4. Какви са някои начини за достъп до Microsoft SQL Server от Linux?

  5. Любими трикове за настройка на производителността