Arkadaşlar başlıktan da anlaşılacağı gibi veritabanında benzersiz değer atamak için sizce yapıyı UNIQUE olarak mı seçip işlem yapmalıyım yoksa her işlemde php kontrolü ile kayıt mı yürütmeliyim
Ek olarak UNIQUE kullanımnın dez avantajları hakkında detaylı bilgisi olanlar paylaşabilirse çok sevinirim.
Cevaplar için şimdiden teşekkürler..
Mysql UNIQUE mi Yoksa Php kontrolü ile engellemek mi ?
6
●1.418
- 17-01-2014, 01:12:27hocam bildiğim kadarıyla unique bir değer olmadan sorun çıkabiliyor bazen hata verebiliyor.Unique değeri php ilede yapsanız mysql ilede yapsanız aynı sorguları çalıştıracağınız kanaatindeyim yani bir dezavantajı olduğunu düşünmüyorum, tabiki bu benim fikrim...
- 17-01-2014, 01:14:51Cevabınız için teşekkür ederim hocam, ben kayıtlarda boş olmaması ve benzersiz olması için yinede sorgularımı sıkı tutacağım ama kuracağım sistem kullanıcı modüllü bir sistem olacak ve diğer kullanıcıların yapıyı dağıtmalarından korkuyorum Unique kullanmak istememdeki amaç aslında bu. Yani istesede eşdeğer bir kayıt girişi yapmasını engellemek istiyorum ama performans/dbboyutu/sorgu süreleri gibi işlemlerde bir dezavantaj yaratırmı bunu öğrenmek amacım..RooTsGhosT adlı üyeden alıntı: mesajı görüntüle
- 17-01-2014, 01:15:41Kimlik doğrulama veya yönetimden onay bekliyor.Php ile yaparsaniz kontrol etmeniz icin bir sorgu daha yazmaniz gerekecektir. Eger mysqlden unique secerseniz ilgili alani, bu sefer sorgu basarili olsa bile o degerden bir tane daha oldugu icin sorgu calismayacaktir. Bu durumda kullaniciya genel bir hata mesaji dondurebilirsiniz.
Eger cok kullanilacak bir islem degil ise php ile kontrol yapin. Bu sekilde eger unique kayittan varsa dbde, kullaniciya da boyle bir kayit var gibi daha aciklayici bir hata mji verebilirsiniz
U8860 cihazımdan Tapatalk kullanılarak gönderildi - 17-01-2014, 01:17:36hocam o zaman sadece id yi değilde unique olmasını istediğiniz başka alanlar var ise id yerine onları sorgularsanız daha iyi olur bence zaten unique olarak eklediğini değerin tekrarlanma ihtimali yoktur.Tekrarlanma ihtimalinde kayıt yapılmaz...Big_Turk adlı üyeden alıntı: mesajı görüntüle
- 17-01-2014, 01:22:56kaptanblack adlı üyeden alıntı: mesajı görüntüleRooTsGhosT adlı üyeden alıntı: mesajı görüntüle
Aslında konuyu biraz eksik açtım asıl mantık şu şekilde,
bir ayarlar tablosu düşünün sistemin tüm ayarları bu tablo üzerinden okunacak,
ayar ismi kısmını unique olarak belirlemek istiyorum yani, site_ismi şeklinde bir ayar verdiğimde kullanıcı sisteme kendi modülünü dahil ettiğinde yada bir sorgu çalıştırdığında 2. kez site_ismi şeklinde bir değer girememeli..
Bunu unique ile çok güzel çözüyorum , unique kullanmadan da kullanıcıya ayar_kaydet isminde bir fonksiyon verip ayarı bunun üzerinden güncellemesi/eklemesi için yine benim kontrolümde olan bir işlem sunuyorum buraya kadar yapıda bozulma olmayacak ama tutarda insert_post ile giriş yaparsa unique ile engellemek istiyorum.
Burda asıl soru şu unique kullanmam performans/dbboyutu/sorgu süreleri gibi işlemlerde bir dezavantaj yaratırmı ? - 17-01-2014, 01:26:02Hayir performans acisindan bir sorun teskil etmez.
U8860 cihazımdan Tapatalk kullanılarak gönderildi