2013-06-17 34 views
8

Şu an java web uygulamamı JDBC'den Hibernate'e geçiriyorum, JDBC ile şu andaki uygulamamda, uygulamanın statik değerlere başlatılmasıyla ilgili statik veriler yüklüyorum, bu yüzden, her ihtiyacım olduğunda veritabanına doğrudan erişmem gerekiyor Statik veriler, şimdi hazırda bekletme moduna geçiyor. Hazırda beklediğim kadarıyla bu statik değişkenlerden kurtulmayı düşünüyorum.Hazırda bekleme ve JDBC performansı?

Hazırda bekletme konusunda oldukça yeniyim, bu nedenle şu anki yöntemimi hazırda bekletme moduna geçirmemenin herhangi bir performans artışı sağlayacağından emin değilim. Önbelleğe almada daha fazla araştırmaya gideceğim ve hangi yöntemin daha iyi olduğunu görmek için bazı performans testlerini çalıştırıyorum, ancak diğerlerinin bu yöntemlerle ilgili performansla ilgili ne düşündüğü hakkındaki bazı görüşleri de beğeneceğim.

Teşekkürler.

+2

Görüş bu site için [konu dışı] (http://stackoverflow.com/help/on-topic) bulunmaktadır. –

+1

JDBC'den Hibernate'e geçme nedeniniz nedir? Performans açısından, iyi yazılmış JDBC (önbellekleme ile) her seferinde Hazırda Beklet'i geçmelidir. Sürdürülebilirlik açısından, cevap ... ne tür sorgulamalara/veritabanı değişikliklerine ihtiyaç duyduğunuza bağlıdır ... – beny23

+0

Önbellekleme yetenekleriyle ilgileniyorsanız, neden hazırda bekletme yerine ehcache'ye gitmiyorsunuz? Ortalama hazırda bekar yazarlar% 10'luk bir yüke sahip olduğunu iddia ediyorlar. –

cevap

8

JDBC, çoğu veritabanı sağlayıcısı için Hazırda bekletme ile karşılaştırıldığında her zaman daha iyi performans gösterecektir. Aşağıdaki linkte verilen karşılaştırmayı kontrol edebilirsiniz. Jdbc daha az satırlarla tabloları sorgularken, hazırda bekletmenin hızlı olduğunu söyler.

http://phpdao.com/hibernate_vs_jdbc/

jdbc ve sql sorguları üzerinde hazırda seçimi yüzünden değil performans ama nedenlerden dolayı esas olarak veritabanı belirli sorgular yazma değil açısından kalıcılığını ve veritabanı bağımsızlığını nesne. Daha iyi bir görünüm elde etmek için pdf kılavuzunu okuyabilirsiniz.

http://www.mindfiresolutions.com/mindfire/Java_Hibernate_JDBC.pdf

0

Özel durumunuz için, gereken statik değerleri tutacak kendi nesneyi oluşturmanızı öneririz. Uygulamanızın başlatılması sırasında veya bu veriler ilk kez talep edildiğinde doldurulabilir.

Karşılaştırmalı perfromans için en iyi durum, Hazırda Bekletme tabanlı veri erişim katmanınızın JDBC kadar iyi perfüze olması veya perfromans bozulmasının genel kullanıcı etkililiğini etkilememesidir. Hibernate, geliştirme sürecini hızlandırmak ve JDBC üzerinde bir perfromance edge elde etmek için değil, sürdürülebilirliği arttırmak için kullanılır.

İlgili konular