2017-08-03 20 views
7

Birçok uygulamada benzersiz kısıtlama kullanmanın yanı sıra, bazı kısıtlamalarda benzersiz kısıtlama kullanmak yerine kullandıklarını gördüm, yoksaBenzersiz Kısıtlama (Veya) Varsa, daha güvenli olanı ekle - Çok iş parçacıklı ortam

ikinci aynı olması veya çok milisaniye aynı time..may de eklemeye çalışmasını birden dişin bir şans var bir çok iş parçacıklı ortamda

... böyle bir durumda

, hangi seçeneği olacaktır en iyi ?? Varsa benzersiz bir kısıtlama veya ekleme için gidiyor.

Teşekkürler.

+0

Herhangi bir öneriniz var mı? – Kathir

cevap

3

Benzersiz anahtarlar kullanmayı tercih ederim çünkü bunlar saydamdır ve kaynakta çoğaltmaları önler. (yani, yinelenen veri eklemek için kodunuzda bir hata ekleyemezsiniz veya başka bir uygulama/kişi tablo verilerini doğrudan düzenleyerek bile çift verileri ekleyemez)

Çok iş parçacıklı uygulamalar için, kod/sorgular yetersiz yazılırsa sonuçlanabilir çiftler halinde, ancak iyi bir uygulama benzersizliği garanti edebilir. (Tekli işlem, varoluş kontrolü ve farklı sorgularda değil, aynı sorguya eklenir, otomatik işlem yapılmaz vs.)

Öte yandan, benzersiz anahtar kısıtlamalarının dezavantajı, veritabanı ek yükü olacaktır.

Seçenek 1:

Yani bu söz konusu (aslında başka olumsuz yanlarını düşünemiyorum) görevi çoğu uygulamaları gerçekten iyi veri ve ilgili kısıtlamaları, ele almaktır, veritabanı güvenin hem performansa Bilge ve güvenilirlik-bilge.

Seçenek 2: Benzersiz sorgulama kodlarını elle yazarak, DB sorgularını kullanarak benzersiz bir denetim yapar. Ve aynı veritabanı tablosuna başka yazma istemcileri olması durumunda yinelenen verileri engellemez.

Birincil endişeniz performanssa, verilerinize ve db'ye bağlıdır. Bir kıyaslama yapmalısınız. Aksi takdirde, seçim açıktır.

+0

mükemmel cevap! – Kathir

İlgili konular