Count Yerine Exists (ARCH5063)
Anahtar go.orm.count-vs-exists · Önem info · Kategori orm
Satır varlığını test etmek için count > 0 kullanmak, DB’nin tüm satırları saymasına neden olur. Bunun yerine ilk satırda durabilen bir exists sorgusu kullanın.
Hatalı
Bölüm başlığı “Hatalı”var count int64db.Model(&User{}).Where("email = ?", email).Count(&count)if count > 0 { // var}var exists booldb.Model(&User{}). Select("1"). Where("email = ?", email). Limit(1). Find(&exists)if exists { // var}Düzeltme
Bölüm başlığı “Düzeltme”Varlık testlerinde tüm satırları sayan Count yerine Limit(1) ile kısa devre yapan bir sorgu kullanın.