Sobes.tech
Senior

Veri tabanına verileri nasıl yazıyordunuz — tek tek mi yoksa toplu mu? Bir Kafka mesajında 500 kayıt olabilir miydi?

sobes.tech yapay zeka

AI'dan gelen yanıt

Çoğu durumda, performansı artırmak ve veritabanı üzerindeki yükü azaltmak için veriler toplu halde yazılır, tek tek değil. Bir Kafka mesajında 500 kayıt varsa, bunları tek bir toplu işlem olarak işlemek ve tek bir işlem veya toplu ekleme yapmak mantıklıdır.

Go dilinde, veritabanı ve toplu ekleme kullanarak örnek:

records := getRecordsFromKafkaMessage(msg) // []Record

// Toplu hazırlık
var values []interface{}
query := "INSERT INTO table_name (col1, col2) VALUES "
placeholders := []string{}

for i, r := range records {
    placeholders = append(placeholders, fmt.Sprintf("($%d, $%d)", i*2+1, i*2+2))
    values = append(values, r.Field1, r.Field2)
}
query += strings.Join(placeholders, ",")

// Sorguyu çalıştır
_, err := db.Exec(query, values...)
if err != nil {
    log.Fatal(err)
}

Bu yaklaşım, veritabanına yapılan sorgu sayısını azaltır ve sistemin toplam kapasitesini artırır.