Gerçekten meşgul bir tabloda dizin oluşturma


11

insert\selectHer seferinde çok fazla masamız var ( her 100 saniyede bir 100 güncelleme ekleniyor).

Bir saniye bile kilitlenemeyen bir tablo üzerinde dizin oluşturmanın en iyi yolu nedir?

Dizini oluşturursam, istekleri kilitleyeceğinden eminim ve bunu yapamam.

1 milyondan fazla sıra içeren büyük bir masa.

Yanıtlar:


12

Böyle bir seçenek yoktur CREATE INDEX WITH (NOLOCK)(ve hatta NOLOCKbir sorgu kilitleri alır, ipucu olmadan sadece daha az).

Yapacağınız en iyi şey WITH (ONLINE = ON), işlemin başında ve sonunda kilitleri almasıdır (her ikisi de tabloyla ilgili planları derleme ile ilgili - daha fazla bilgi için Paul Randal'ın bu blog yayınına bakın ).

Bu, dizin oluşturmanın uygulamalarınız üzerindeki etkisini önemli ölçüde azaltacaktır, ancak bu etkiyi tamamen ortadan kaldırmanın pratik bir yolu yoktur. Ayrıca, bu özellik ücretsiz değildir: Enterprise Edition gerektirir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.