MySQL - çoklu Kısa sorgu vs büyük bir sorgu ise en

3 Cevap php

Bu gerçekten geniş bir soru, ama ben son birkaç hafta içinde bunun karşısında birkaç kez gelmiş ve ben genel fikir, iyi uygulama ve verimlilik bakımından ne olduğunu merak ediyorum.

1)

SELECT COUNT (*) FROM tablo WHERE id = '$ id', name = '$ isim', sahibi = '$ owner_id'

Eğer bir sonuç kayıt maçı varsa ve o dayalı.

2)

SEÇİN * FROM tablo WHERE id = '$ id'

ve sonra komutlar sonuçları maçı kontrol etmek için ise bir dizi.

Şimdi tabii ki orada eşleşmiyor alana kadar doğru hata raporları için izin verdiği avantajları, ikinci çözüm vardır ... ama bu daha iyi uygulama daha verimli, kabul ve üzerinde yük bir fark var ki gerekli değilse ikisi arasındaki mySQL sunucu?

3 Cevap

Uzun bir atış Seçenek 1. SQL en iyi yapmak için tasarlanmıştır ne yapmak ve prosedürel kod daha iyi olsun. Bu veri filtreleme ve sıralama vardır.

Ayrıca, bu sunucudan yalnızca gereksinim duyduğunuz verileri aşağı çekmek için kaynakların (bant genişliği, DB kullanımı, vb) çok daha verimli kullanmaktır.

Kullan 1). Mysql belirli koşullara dayalı verileri seçiminde çok etkilidir.

Büyük sorgu 5.1 veya daha fazla saniye .1 alabilir, bulmak çalıştırın ve onu bulmak gerekir. Genellikle birden fazla ise daha iyi bir şekilde PHP çok hızlı olduğu gibidir. Ben 5 5 milyar ürünleri ile tabloya katılır ile kullanıyordum, o zaman ben bir katılmak azaltmak ve daha sonra ifadesi bunu düzeltmek için kullanmayın yaptım. Ben katılmak azaltılmış zaman sorgu, 4,2 saniye alıyordu, bu 3.8 s aldı ama bildiğiniz gibi PHP yol hızlıdır.