SQL: 1. Tüm alanları ile sorgu veya birden fazla sorgu olarak eklemek?

3 Cevap php

Yani bir tabloya yeni bir satır ekleyerek bir PHP sayfası için en iyi uygulama ile ilgili bir sorum var. Bazı gerekli alanlar (aka NOT NULL) ve bazı isteğe bağlı alanlar (NULL olabilir) vardır. O bir sorgu ile her şeyi eklemek, ya da sadece gerekli alanları, eklenen kimliği almak ve bir veya daha fazla diğer sorguları ile diğer alanları güncelleştirmek mi daha iyidir?

Ben bir where <primary key> = "x" ile birden fazla güncelleme yaparsanız büyük bir performans bulunanlar var mı? İsteğe bağlı güncelleştirmelerden biri işe yaramazsa, geri kalanı yapmak o kadar ya da birden çok güncelleştirme yapmak daha iyidir?

3 Cevap

Genel olarak tüm değerleri ile bir tek INSERT yapmalıdır. Bu veritabanı işleme açısından daha pahalı olacak ama en önemlisi (veya moreso) bu uygulama kodu çok daha basit hale getirecek.

Ben alternatif bile size oluştu neden emin değilim, ama bana belki iştiraki sütun değerleri bazı reddedilecektir hissediyorum bazı uygulama özel bir sebebi var olduğunu düşündürüyor. Eğer öyleyse, özel durum hakkında daha fazla kullanın lütfen söyle.

Ben iki nedenden dolayı bir sorgu kullanmak:

  1. Veritabanına her çağrı uygulamanıza havai eklemek için gidiyor. Sadece bu şekilde yapmak bir güncelleme yapıyor uzakta alabilirsiniz.
  2. Eğer ayrı görüşmeler kullanırsanız sonra birisi güncellemeleri arasında verileri görüntülemek için çalışır ve 'eksik' veriyi görür olasılığı olabilir.

Tek bir satır için, gerçekten tek bir INSERT yapıyor olmalıdır. Bir sütun değeri geçerli değil varlık hakkında endişe varsa, daha fazla vurgu INSERT yapmadan önce kodu (veri türü, veri uzunluğu, vb) doğrulamak için uygulama katmanında konulmalıdır.

Daha kapsamlı bir kod bu şekilde olacak ve aynı zamanda uygulama sunucusu, veritabanı sunucusu ve ağ üzerinde bir etkisi çok daha az yapacaktır.