SORU
27 EKİM 2008, PAZARTESİ


Oracle ile belleği

Olmak istediğim gibi Oracle ile aşina değilim. Bazı 250 bin kayıt var ve sayfa başına 100 onları görüntülemek istiyorum. Şu anda bir veri kümesi için bir milyon kayıtları çeyrek verileri adaptörü kullanarak alır bir saklı yordam ve veri kümesi, ve > var.Dolgu(veri kümesi) saklı proc sonuçlarına yöntemi. "Eğer" ve "sayının" tam sayı değerleri sadece belirli bir bölümünü geri almak için en iyi yol olacağını parametre olarak geçebilir. sayfa başına kayıtlar, Sayfa Numarası varsa Diyelim ki, eğer geçersem 10 gibi bir sayfa numarası ve 120 olarak sayfa sayısı, deyim olur bana ver 1880th ile 1200 ya da bir şey gibi bu, benim matematik kafamı olabilir.

Bu yapıyorum .C ile NET# kim olduğu önemli değil düşündüm eğer doğru sql tarafında sağlayabilirsem, o zaman havalı olmalıyım.

Brian önerisi kullanma şansım oldu, ve harika çalışıyor. güncelleme: İsterim ki, iş üzerinde bazı optimizasyon, ama sayfaları geliyor 4 5 saniye yerine dakika, ve benim belleği kontrol etmeyi başardı entegre çok şey ile benim yeni saklı procs.

CEVAP
27 EKİM 2008, PAZARTESİ


Onun gibi bir şey: From Frans Bouma's Blog

SELECT * FROM
(
    SELECT a.*, rownum r__
    FROM
    (
    	SELECT * FROM ORDERS WHERE CustomerID LIKE 'A%'
    	ORDER BY OrderDate DESC, ShippingDate DESC
    ) a
    WHERE rownum < ((pageNumber * pageSize)   1 )
)
WHERE r__ >= (((pageNumber-1) * pageSize)   1)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 1881 Animation

    1881 Animati

    5 EKİM 2013
  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • Pituvision

    Pituvision

    11 Mart 2006