MS SQL 2012'den 2014'e yükseltmenin faydalarını araştırıyorum. SQL 2014'ün en büyük satış noktalarından biri, görünüşe göre sorguları süper hızlı hale getiren bellek için optimize edilmiş tablolardır.
Bellek optimize tablolar gibi bazı sınırlamalar olduğunu gördüm, örneğin:
(max)
Boyutlandırılmış alan yok- Satır başına maksimum ~ 1 KB
- hiçbir
timestamp
alanlar - Hesaplanmış sütun yok
UNIQUE
Kısıt yok
Bunların hepsi sıkıntı olarak nitelendirilir, ancak performans avantajlarından yararlanmak için gerçekten etraflarında çalışmak istersem, bir plan yapabilirim.
Gerçek kicker, bir ALTER TABLE
deyimi çalıştıramayacağınız ve bir dizin listesine her alan eklediğinizde bu rigmarole atlamanız gerektiğidir INCLUDE
. Dahası, canlı DB'deki MO tablolarında şema değişiklikleri yapmak için kullanıcıları sistemden kapatmanız gerektiği anlaşılıyor.
Microsoft'un bu özelliğe çok fazla kalkınma sermayesi yatırmış olabileceğine ve sürdürmesi çok pratik olmadığına inanamadığım ölçüde bunu tamamen çirkin buluyorum. Bu beni sopanın yanlış ucunu almış olmam gerektiği sonucuna götürüyor; Onları korumanın gerçekte olduğundan çok daha zor olduğuna inanmamı sağlayan, bellek için optimize edilmiş tablolar hakkında bir şeyler yanlış anlamış olmalıydım.
Peki, ne yanlış anladım? MO tabloları kullandınız mı? Bunların kullanımını ve bakımını pratik hale getiren bir tür gizli anahtar veya süreç var mı?