none
C# ile Benzer GUID 'ler Oluşturmak RRS feed

  • Soru

  • Selamlar,

    Bir program için ek yazılım geliştirirken, ana programın database'ini kontrol ettiğimde GUID'lerin çok küçük farklar ile benzer olduklarını gördüm. Örneğin,

    E64191A4-51F0-4055-9BA2-7E13C049046C - 1. Satır
    E74191A4-51F0-4055-9BA2-7E13C049046C - 2. Satır
    E84191A4-51F0-4055-9BA2-7E13C049046C - 3. Satır

    gördüğünüz gibi, yukarıdaki guid ler programın oluşturduğu guidler. Çok benzerler ama aynı değiller ve bu GUID'ler sıralı oluyor. Yani bir evrağın içindeki satırların sırasına göre artıyor.

    Bende o tabloya kayır eklerken bu şekilde eklemek istiyorum. Bunu nasıl yapabiliriz?

    Bu şekilde sıralı olması performans açısından da çok etkili oluyor.

    Teşekkürler.


    9 Aralık 2018 Pazar 17:34

Tüm Yanıtlar

  • Merhaba;

    MSSQL bu istediğinizi karşılar. Programatik olarak yapmanız yerine, MSSQL tarafından verilen guid'i kullanmanız performans açısından daha iyi. MSSQL 2008 sonrasında bu özellikl geldi. Şöyle ki.

    MSSQL'de NewSequentialID() olarak kolonu ayarlarsanız, istediğinizi elde edersiniz. Aşağıdaki resimde Id kolonu örnek gösterildi ancak siz, farklı kolonlara da benzer özellikler ekleyebilirsiniz.

    Çıktısı:


    İletişim


    9 Aralık 2018 Pazar 17:53
    Moderatör
  • Dediğiniz şeyi denedim, ancak tablo düzenlemeye çalıştığımda hata alıyorum. Yani 2. görselde NewSequentialID()  yazan yerde newıd() yazıyor. Tablo create edilirken newid() ile create etmişler. Bu tabloda da binlerce kayıt var yani re-create yapmam da mümkün değil. 

    Tablodaki Guid kolonun Default 'u newid olduğu halde programdan kayıt girildiğinde bu guid ler sıralı geliyor. Ben kendi projemden kayıt girdiğimde ise rastgele gidiyor.

    Yani bu Guid leri program tarafında oluşturup gönderdikleri belli oluyor.

    Benim aradığım şey de bu.

    9 Aralık 2018 Pazar 19:57