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

Трябва ли колона с първичен ключ на Sequential Guid да бъде клъстерен индекс?

Първо да изясним, първичният ключ и клъстерираният индекс са 2 отделни и различни неща, т.е. едното не е свързано с другото (PK могат да бъдат неклъстерирани, клъстерираните индекси могат да не са PK).

Като се има предвид това, мисля, че питате повече „Трябва ли последователен GUID да се използва като клъстерен индекс“. Това е зареден въпрос, но Кимбърли Трип е обсъдила това вероятно най-доброто от всички, които съм виждал. Обърнете внимание, че статията се отнася до PK, но вътре в статията тя се позовава на това как съображението се отнася най-вече за избор на клъстерен индекс срещу PK.

Ако приемем, че вече сте решили да използвате GUID като клъстерен ключ (което може или не може да е така), използването на последователен GUID най-вероятно ще бъде по-добър избор пред непоследователен GUID, но има поне 1 сценарий, при който може да се предпочита непоследователен GUID (въпреки че много рядък, много напреднал сценарий, при който трябва да разбирате основно вашата система и SQL сървър толкова добре, че да нямате съмнение, че това трябва да се използва - ще трябва да се направи с горещи точки на вашето устройство за съхранение и разпространяване на големи обеми записи в различни местоположения на клъстера).




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

  2. Кой е най-лесният начин за предварителен преглед на данни от колона с изображение?

  3. Добавяне на колона с първичен ключ в съществуваща таблица

  4. SQL - Свързване към свързан сървър с именуван екземпляр

  5. За процедурата или функцията cdc.fn_cdc_get_all_changes_ са предоставени недостатъчен брой аргументи