Temel olarak SharePoint listeleri üzerinde bulunduğu SQL server üzerindeki tabloları değiştirmek üzere tasarlanmamıştır. Büyüyen SharePoint çözümleri ve istekleri ile beraber daha önceden kullanmış olduğumuz listelerde ki 5000 kayıt limiti ( özellikle SPO için) Bill Baer’ın August 27, 2015 de yayınladığı şu https://blogs.technet.microsoft.com/wbaer/2015/08/27/navigating-list-view-thresholds-in-sharepoint-server-2016-it-preview/ makalede SharePoint 2016 ile birlikte gelen yenilikler ile beraber Treshold olarak adlandırdığımız limitlerinde değişeceğini bize çok öncelerden bildirmişti.
SPO üzerinde bu treshold limitleri Microsoft tarafından belirli bir infra üzerinde düzenlendiğinden değiştirilmiyor. Ama limitler baya yükseldi 2016 ile birlikte. SPO üzerinde listelerinizin otomatik index ayarlarını ise herhangi bir listin özelliklerine girerek, Advanced ( gelişmiş ) liste özellikleri menüsü yardımı ile aşağıda gösterilen ekrandaki gibi ayarı açabilirsiniz.
Açıklamasından da anlaşılacağı gibi otomatik indexler sizin sharepoint listeleriniz üzerinde daha fazla performanslı çalışmanızı sağlayacak bir özelliktir. ( Liste üzerindeki görünümler demek daha doğru olacaktır )
On Prem üzerinde ise bu işlem daha detaylı olarak PowerShell üzerinden takip edilebilir.
Aşağıdaki komut vasıtası ile On-Prem üzerinde çalışan SP 2016 Farm’ınızdan index management yapan job servisine ( timer servise ) bağlanarak son çalışma zamanını ve eğer var ise sonraki çalışma yada zamanlanmış tarihine ulaşabilirsiniz.
$w = Get-WebApplication -Name “Web Application Name”
Get-SPTimerJob -WebApplication $w -Identity job-list-automatic-index-management
Eğer o anda anlık olarak tetikleme isteği duyarsanız yani indexing servisi çalıştırmak isterseniz powerShell yardımı ile aşağıdaki komutu çalıştırmanız da yeterli olacaktır.
Start-SPTimerJob -Identity job-list-automatic-index-management
Hazır bu noktada PowerShell komutlarına girmişken iki komutu daha paylaşalım. Aşağıdaki komutumuz listelerimiz üzerinde indexleme işlemi yok ise oluşturmak üzere kullanabileceğimiz bir komuttur.
$SiteUrl = “http://sp2016eravse:4470”
$web = Get-SPWeb $SiteUrl
$web.Lists[“OrganizationCart”].fields.FieldIndexes
Bu konu ile alakalı son olarak da belki lazım olabilir diye index sayımızı bize paylaşan bir komut yazalım.
$web.Lists[“OrganizationCart”].fields.FieldIndexes.count
Bu arada yukarıda verdiğimiz bilgiler informatif olarak paylaşıldı. Yani SPO ve SharePoint 2016 için yapmanız gereken hiç bir şey yok. Bahsettiğimiz bu iki versiyonda otomatik indexleme standart olarak öntanımlı açık olarak gelmektedir.
İndexlemelerin daha hızlı ve performanslı kullanılması içinde bir kaç özellik ve son kullanıcı bazında uygulamalar yaparak sistemlerimizi daha efektif halde kullanabiliriz. Aşağıda indexlemeler ile alakalı performans arttırıcı bazı örnekleri vermeye çalıştım bunları sıralamak gerekirse şu şekilde bir kaç tanesini yazabiliriz ;
· Flitreler uygulanmış görünümler her zamana indeksleneceğinden daha hızlı veriye erişimenizi sağlayacağı içn bu tür görümleri tercih edin
· Yukarıdaki madde sadece bir yöntem değil içerisinde daha çok öğe bulunan listelerle çalışmanın kolay ve performanslı yoludur ve birincil yöntem olarak kullanılmalıdır.
· Bir liste ve ya kitaplık için en fazla 20 index ( sütün bazında ) oluşturabilirsiniz.
· SQL server da olduğu gibi SharePoint listelerinde de en yaygın olarak kullanacağınız sütünlar için indexlemelerinizi yapınız.
· Flitrelenmiş görünümler otomatik olarak listenin indexlerine eklendiğinden listenizdeki index sınırının aşmadığını kontrol ediniz.
Bunların haricinde listelerinizde mevcut oluşan indexlerinizi de çok basit bir şekilde görebilirsiniz. Listenizin sütünları oluşturduğunuz yerin altında bir link bulunmaktadır “Indexed Columns” buna tıkladığınız da size detaylı bir şekilde indexlenen sütünlarınızı listeleyecektir.
Tabi aynı zamanda bu ekrandan da PowerShell kullanmadan indexlerinizi oluşturabilirsiniz. Ek bir not olarak SharePoint online üzerinde SharePoint Online Management Shell kullanmamız Tenant seviyesinde işlemlerin değişiklikleri için 24 yada 48 saat beklemek zorunda kalmamak içindir. Normalde Admin üzerinden yaptıklarımızda belirli bir güncelleme süresi olacaktır. PS ile bu süre bazı işlemler için yok denecek kadar azdır.
Index oluşturmak istediğinizde az önceki ekrandan Create a new index demeniz yeterli olacaktır. sharePoint sizin için bir ekran açacak ve index yapmak istediğiniz liste Field larını seçmenizi isteyecektir.
Bu işlemleri yaptıktan sonra artık büyük listelerde çalışmamak için hiç bir nedeniniz yok.
SharePoint üzerinde ( özellikle online ) Microsoft tarafından sürekli bir iyileştirme ve güncelleme ile hata giderimleri yapılmaktadır. On-Prem üzerinde bu güncellemeler CU lar vasıtası ile geleceğinden en güncel versiyonu her zaman SPO üzerinden test edebilirsiniz.
Bol performanslı kullanımlar dileği ile …