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

  • LaKe Lightroom Tutorials

    LaKe Lightro

    22 Temmuz 2014
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009
  • YAN TV

    YAN TV

    20 EKİM 2011