Sql-Server veritabanında bir tabloya rowversion sütun ekleme performans sonuçları olup olmadığını merak ediyordum?RowVersion ve Performans
cevap
birkaç performans etkileri vardır, rowversion eski zaman damgası veri türü için sadece yeni bir isimdir. Yani veritabanınızın ek ikili alanı saklaması gerekecek. Geçen @rowVersion beri güncellenen öğelerin listesini almak için kullanılabilecek yaygın yoludur
SELECT *
FROM MyTable
WHERE rowVersion > @rowVersion
, aşağıdaki gibi bu verilere sorguları yapmak çalıştığınızda Kişisel performansı çok daha yaşayacaktır. Bu iyi görünüyor ve 10,000 satırlı bir tablo için mükemmel çalışacaktır. Eğer 1 milyon satır geldiğinizde Ama her zaman bir tablescan yapıyor ve masa artık sunucunun RAM içinde tamamen uyuyor çünkü performans isabet olduğunu çabucak keşfedeceksiniz.
Bu rowVersion
sütun ile karşılaşıldığında yaygın bir sorundur, sihirli başlıbaşına endeksli değildir. Ayrıca, ne zaman indeks varolan öğeleri güncellemek olarak endeks boyunca boşluklar bırakarak yeni güncellenmiş değerleri her zaman indeksi dibinde olacak çünkü indeksi genellikle zamanla çok parçalı alacak kabul etmek zorunda bir rowversion kolonu, .
Düzenleme: Güncelleştirilmiş öğeleri denetlemek için rowVersion
alanını kullanmıyorsanız ve bunun yerine son okumadan sonra kaydın güncelleştirilmediğinden emin olmak için tutarlılık için kullanacaksanız, o zaman Mükemmel kabul edilebilir bir kullanım ve etki etmeyecek.
UPDATE MyTable SET MyField = ' @myField
WHERE Key = @key AND rowVersion = @rowVersion
- 1. İyimser eşzamanlılık: IsConcurrencyToken ve RowVersion
- 2. varlık çerçevesi 6 mysql rowversion
- 3. OCaml modülleri ve performans
- 4. Eşzamanlı bağlantı ve performans?
- 5. Zaman damgası (rowversion) taşırken ne olur?
- 6. Winforms ve WPF'nin performans karşılaştırması
- 7. F # otomatik genelleme ve performans
- 8. Leaflet.js ve JSON verileri: optimizasyon ve performans
- 9. MySQL performans
- 10. Performans Farkı
- 11. Performans değerleri
- 12. AVCaptureVideoDataOutput ve AVCaptureAudioDataOutput kullanırken performans sorunları
- 13. Performans ayarlama C# permütasyonları ve SHA1 kodu
- 14. jQuery Datatable ve jQGrid arasındaki performans karşılaştırması?
- 15. C# performans sayacı ve nic adı
- 16. Adres Defteri iş parçacığı güvenliği ve performans
- 17. Neden numpy.zeros ve numpy.zeros_like arasındaki performans farkı?
- 18. HttpModule ve Global.aspx arasındaki performans farkı nedir?
- 19. jQuery Mobile ve PhoneGap Performans sorunları
- 20. Performans Azure Blob ve Azure Tablo
- 21. Swift Açık ve Anlamsız Yazma: Performans
- 22. IIS 7 Güvenilirlik ve Performans Monitörü
- 23. Ayar nasıl otomatik hale getirilir ConcurrencyMode = Tüm RowVersion sütunlarında sabitlendi?
- 24. Yığın ayırma özelliği (performans) benim küçük performans sorunları soruşturması sırasında
- 25. WP7 - Performans iyileştirmeleri ölçme
- 26. nhibernate hidratasyon performans
- 27. Yuvarlak UIScrollView Performans
- 28. Redis Performans ayarlama
- 29. Highcharts Performans Geliştirme Yöntemi?
- 30. Android PC'deki performans monitörü
? Bir rowversion gerekiyorsa, bir rowversion gerekir .... –
Mitch ile katılıyorum. İhtiyacınız olursa, değiştirmek için hangi geçici çözümü kullanırdınız? arasında – gbn
olası yinelenen [rowversion/zaman damgası, performansı önemli ölçüde etki yapar] Bir rowversion sütun sahip olmayan aksine (http://stackoverflow.com/questions/7217062/does-rowversion-timestamp-affects-performance-significantly) –