2012-03-14 19 views

cevap

4

Hayır. Daha hızlı kodlamanın yolları vardır, ancak ima ettiğiniz kısayollar yoktur. an answer I gave on dba.stackexchange Alındığı:

çabuk neyi yollarla bağlıdır
DECLARE @tb NVARCHAR(255), @sql NVARCHAR(MAX); 

SET @tb = N'dbo.[table]'; 

SET @sql = N'SELECT * FROM ' + @tb + ' WHERE 1 = 0'; 

SELECT @sql = @sql + N' OR ' + QUOTENAME(name) + ' IS NULL' 
    FROM sys.columns 
    WHERE [object_id] = OBJECT_ID(@tb); 

EXEC sp_executesql @sql; 
+0

SQL Server 2005'te çalışmayacak, ancak umarım OP bu konuda ne yapacağını bilecektir. –

+0

@Andriy Teşekkürler. Düzeltildi. Kendimi her zaman yakalarım, bazen özlüyorum. Bu durumda onu 2008 için olan bir sorudan kopyaladım. –

+0

Bir şey değil. :) –

0

.

SQL Server'ın çalışmasını hızlandırmak istediğinizde, yapabileceğiniz bir şey, tüm satırın (bit ve birincil anahtar dışındakiler hariç) NULL olduğunu belirten bir bit sütununu güncellemekten daha tetikleyici yazmaktır. Ancak, güncelleme performansınızı etkileyeceğinden bunun için GERÇEK iyi bir neden olmalıdır. Bu sütunlardaki dizinler de yardımcı olabilir.

Yazmayı daha hızlı yapmak istediğinizde, SQL'in sizin için hangi yan tümceleri oluşturduğunu belirleyebilirsiniz. Ama, bunu çok yapmadıkça, bence zamana değmez.

1

Öğretim-to-balık-yerine-of-the-you-balık vererek burada cevap tür: o araya ve dinamik bir sorgu çalıştırır saklı bir yordam oluşturmaktır yapmanın

bir yolu.

saklı prosedür olacaktır:

  • girdi parametresi olarak bir tablo adı vardır.
  • belirli tablo yapısı için meta veri sistemi tablolarını sorgulayın.
  • , bir tablonun (gerçek sorgu), bu tablonun sütunlarına ilişkin OR ifadeleriyle dinamik olarak birleştirilmesi.
  • Birleştirilmiş sorguyu çalıştırın ve sonucu döndürün.
2

Böyle bir şey kullanarak sütun adlarını bulabilirsiniz:

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns where TABLE_NAME = <table_name> 

Sonra ben bu kullanarak bir yordam yazardı ve bu olurdu Tablonuzdaki girişleri ve sütun adları döngü.

Kaynak: http://codesnippets.joyent.com/posts/show/337

İlgili konular