SORU
5 Temmuz 2010, PAZARTESİ


select * vs sütununu seçin

eğer sadece 2/3 sütun ve seçin sorgu bu sütunlar sağlamak yerine* *0 ben sorgu. daha az g/Ç veya daha fazla bellek ile ilgili herhangi bir performans düşüşü var mı ??

Ağ Yükü eğer bir ihtiyaç olmadan seçin * yaparsam mevcut olabilir.

Ama bir seçme işleminde veritabanı motoru her zaman diskten atom demet çeker mi ? ya da sadece bu sütunları seçin ve İşlemi talep çeker.

Eğer her zaman bir demet çekerse O yükü aynıdır.

aynı zamanda. bir demet için istenen sütunlar sıyırma için bir bellek tüketimi olabilir. bir demet çeker.

Dava someColumn daha fazla bellek seçin daha havai olacak seçin Bu . eğer öyleyse

CEVAP
5 Temmuz 2010, PAZARTESİ


Asla (asla) üretim kodu SELECT * kullanmanız gereken çeşitli nedenleri vardır:

  • veritabanınızın istiyorum ne gibi herhangi bir ipucu vermiyorsun beri, ilk o tablo sütunları tespit etmek amacıyla, tablo tanımını kontrol etmek gerekir. Arama biraz zaman mal olacak - çok değil tek bir sorguda - ama zamanla ekler

  • eğer sütun tek 2/3 ihtiyacın olursa, 1/3 disk alınıyor olması gerekir ve ağ üzerinden gönderme olan çok fazla veri seçiyorsun

  • eğer başlatmak için kullanır bazı yönleri verileri, örneğin sipariş döndürülen sütunlar, sen-ebil almak bir kötü sürpriz sonra tablo yeniden ve yeni sütunlar eklenir (veya mevcut olanları kaldırıldı)

  • SQL Server (emin değilim diğer veritabanları), eğer ihtiyacınız olan bir alt sütun, her zaman bir şansı olmayan bir kümelenmiş dizin olabilir bu isteği kapsayan (içeren tüm sütunları gerekli). SELECT *, bu olasılık üzerine doğru gelen vazgeçiyorsun ile yola çıkıyoruz. Bu durumda, veri dizin sayfaları varsa, bu gerekli tüm sütunlar içeriyorsa () ve böylece disk G/Ç alınmış olurvebellek yükü SELECT *.... bir sorgu yapmaya kıyasla çok daha az olurdu.

Evet, zaman alır biraz daha fazla yazarak başlangıçta (araçlar gibi SQL Prompt SQL Sunucu bile yardım yok) - ama bu çok olduğu bir durumda, kural olmadan herhangi bir özel durum: şimdiye kadar SEÇMEK * üretim kodu.HİÇ.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • A Alkhaldi

    A Alkhaldi

    12 Mayıs 2007
  • buttheadgsxr1000

    buttheadgsxr

    24 Ocak 2008
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010