SORU
11 Mayıs 2009, PAZARTESİ


Seçin n SQL den rastgele satır Server tablo

Yaklaşık 50.000 satır ile SQL Server bir tablo var. Rastgele satırları yaklaşık 5000 seçmek istiyorum. Düşündüm karışık bir şekilde, oluşturma Bir temp tablo ile bir "rastgele sayı" sütun, kopyalama benim tabloya, döngü, geçici tablo ve güncelleme her satır ile RAND() ve sonra seçerek bu tablo nereye rasgele sayı sütun < 0.1. Daha basit bir yol için mümkünse, tek bir açıklama yapmak için arıyorum.

This article NEWID() işlevini kullanmanızı öneririz. Bu umut verici görünüyor, ama güvenilir satırların belli bir yüzdesini seçin ben nasıl göremiyorum.

Kimsenin daha önce bunu? Herhangi bir fikir?

CEVAP
11 Mayıs 2009, PAZARTESİ


select top 10 percent * from [yourtable] order by newid()

"Saf çöp bu performansını artırmak için. gibi yapabileceğini" büyük tablo ile ilgili açıklama: cevaben

select  * from [yourtable] where [yourPk] in 
(select top 10 percent [yourPk] from [yourtable] order by newid())

Bu maliyeti anahtar değerleri tarama olması artı küçük bir yüzdesi bir seçim ile büyük bir tablo üzerinde makul olması gereken maliyet, birleştirme.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008
  • Manuel Vizcaino

    Manuel Vizca

    27 Mayıs 2008
  • Noam Erez

    Noam Erez

    3 NİSAN 2012