2011-03-09 20 views
8

Bugünlerde bazı SQL ayarlama yapıyor ve test sırasında bir garip sql bulmak ediyorum:Performans testi yapılırken SQL Server'ın "yeniden oluşturma istatistikleri" nasıl önlenir?

SELECT StatMan([SC0],[SC1], [SB0000]) 
FROM (SELECT TOP 100 PERCENT [SC0],[SC1], step_direction([SC0]) over (order by NULL) AS [SB0000] 
     FROM (SELECT [tableA] AS [SC0],[tableB] AS [SC1] 
      FROM [dbo].[url] WITH (READUNCOMMITTED,SAMPLE 3.408654e+000 PERCENT) 
      ) AS _MS_UPDSTATS_TBL_HELPER 
    ORDER BY [SC0],[SC1], [SB0000] 
    ) AS _MS_UPDSTATS_TBL 
OPTION (MAXDOP 1) 

bu bazı "reindex" veya SQL Server göre bazı db endeksi "yeniden" yapıyor görünüyor. Ama sorum, testten önceki her tablo için "reindex" in yanı sıra uzun yük testi sırasında bunu nasıl önleyebiliriz.

Ve tablomda yeterli satır bulunduğundan, bu SQL 16862ms tüketecektir. Ve benim testimde çok sayıda insert eylem var.

+1

Bana bir otomatik güncelleştirme istatistikleri sorgusu gibi görünüyor. Bunu, tüm veritabanı için veya tek tek dizinler için kapatabilirsiniz, ancak diğer sorgularınız da zarar görebilir. –

cevap

6

Bu, istatistiklerin güncellenmesi gibi görünüyor.

İstatistikler güncellenir, normal bir üretim ortamında gerçekleşir mi? Öyleyse, bir üretim ortamını yansıtmak, istatistikleri güncellemek için bir yük testi yapmamalı mı?

AUTO_UPDATE_STATISTICS seçeneğini kapatmak için, istenen tablolarda sp_autostats kullanın (bkz. http://msdn.microsoft.com/en-us/library/ms188775.aspx).

+0

Cevabınız için teşekkür ederiz! Performans env'de koşuyorum. Bu gerçekten yararlı! – Vance

+1

Teşekkürler. AUTO_UPDATE_STATISTICS özelliğini kapatırsanız, yoğun olmayan zamanlarda manuel UPDATE STATISTICS çalıştırmak isteyebilirsiniz. – Enull

+0

Test sql'm sadece "sorgu" içinse, testten önce/sonra İSTATİSTİKLERİMİ GÜNCELLEŞTİRMELİM? – Vance

0

Herhangi bir şeyi değiştirmeden önce, SQL Profiler ile olduğu gibi çalışmasına izin verir ve ardından sonuçları analiz etmek için Tuning Advisor'ı alırdım. Tablo tasarımında bazı verimsizlikler bulabilir. Ayrıca bazı güzel masum şeyler bunu etkileyebilir: ör. "çok fazla dizin" sahibi olmak ya da GUID'i PK olarak seçmek, seçenekten daha fazla ekleme içeren bir tabloya ...

Tüm verimsizlikler çözülürse ve hala performans isabeti alırsanız, o zaman, otomatik istatistikleri devre dışı bırakabilirsiniz. ve yoğun olmayan saatlerde istatistikler güncellendi. Ama o zaman, daha önce de aynısını yapan kişi olarak aynısını yapmalısınız.

İlgili konular