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

Групирани индекси на колони без идентичност за ускоряване на груповите вмъквания?

Е, подложих го на изпитание и поставянето на клъстериран индекс върху двете колони, "дефиниращи парчета", повишава производителността на моята таблица.

Вмъкването на парче вече е сравнително бързо в сравнение със ситуацията, в която имах клъстериран IDENTITY ключ, и приблизително толкова бързо, колкото когато нямах клъстерен индекс. Изтриването на част е по-бързо, отколкото със или без клъстерен индекс.

Мисля, че фактът, че всички записи, които искам да изтрия или вмъкна, са гарантирани, че са заедно в определена част от твърдия диск, прави таблиците по-бързи - би ми се сторило логично.

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



  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 + SQL Server Удостоверяване + Грешка:18456

  2. Разлика между Select Unique и Select Distinct

  3. Експортирайте таблица във файл със заглавки на колони (имена на колони) с помощта на помощната програма bcp и SQL Server 2008

  4. Рекурсивна заявка за намиране на родителския запис

  5. Как да създадете заявка от йерархична таблица родител дъщерна