SORU
3 EYLÜL 2010, Cuma


Seçin * kullanımı haklı olabilir mi?

Her zaman SELECT * kötü ve veba gibi Kaçınılması gereken benim geliştiriciler için vaaz verdim.

Haklı olabilir nerede herhangi bir durum var mı?

En optimize anlamaya olabilir COUNT(*) - bahsetmiyorum.

Edit

Üretim kodu bahsediyorum.

Ve bir çok örnek gördüm bu kötü bir uygulama oldu bir eski asp uygulama kullanılan select * bir saklı yordam ve kullanılan ADO döngü döndürülen kayıtları, ama sütunlar ile dizin. Yeni bir alan bir yere eklendiğinde ne alan listenin sonuna dışındaki hayal edebilirsiniz.

CEVAP
3 EYLÜL 2010, Cuma


Denetim tetikleyiciler * kullanarak gayet mutluyum.

Bu durumda olabilir aslında kanıtlamak yarar çünkü olacaktır emin olun Eğer ek bir sütun eklenir Bankası tablo büyüteceğim bir hata bu kadar olamaz unutulmuş için anlaşma ile bu denetim tetikleyici ve/veya denetim tablo yapısı.

(dotjoe) ayrıca, türetilen tablolar kullanmadan mutluyum ve tablo ifadeleri sütun. Ben de alışkanlıkla tam tersi.

WITH t
     AS (SELECT *,
                ROW_NUMBER() OVER (ORDER BY a) AS RN
         FROM   foo)
SELECT a,
       b,
       c,
       RN
FROM   t; 

Ben çoğunlukla aşina SQL Server ve orada en azından doktoru hiçbir sorun tanıyan tek sütun a,b,c gerekecektir ve kullanım * iç tablo ifade etmez neden gereksiz yük alma ve atma gereksiz sütunları.

Prensip SELECT * olması gerekeni güzel bir görünüm yanı sıra son SELECT manzaraya bir yerde olsa gerek olmaya bilir ancak SQL Server bu sorunlara neden olabilir gibi saklar sütun meta gören değil otomatik olarak güncelleme zaman temel tablo değiştirme ve kullanım * yol kafa karıştırıcı ve yanlış sonuçlar sürece sp_refreshview çalıştırmak için güncelleme bu meta.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DominicFear

    DominicFear

    30 Kasım 2006
  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006
  • Utah Valley Online

    Utah Valley

    9 AĞUSTOS 2010