Tam Sürümünü Görmek İçin : JDBC hakkında
mkarabulut
29/10/2003, 12:23
Merhaba..
Yaklaşık 30 alanı ve 200 kaydı olan bir tablodan kayıtları çekip listelerken işlem gerçekten çok yavaş gerçekleşiyor...
Yaptığım sorgu "SELECT * FROM tablo"
Sadece bi kaç alan seçtiğim zaman hız kabul edilebilir bir düzeyde ama tüm alanları almak istediğimde olaylar kötüye gidiyor..
JDBC performansı açısından önerileriniz olabilir mi ?
muharrem_tac
29/10/2003, 21:57
Veritabanı MySQL mi ?
darky_dark
31/10/2003, 07:55
cok hangi veritabanini kullaniyorsun?
tablonun yapiisini yazabilir misin? primary keyler, indexler vs..
hangi jdbc driver ini kullaniyorsun?
jvm versiyonu nedir?
kodundan 1 parca yaza bilir misin?
yukaridaki gibi detaylari bilmeden tek soyleyebilecegim bunun kullanici hatasi oldugu yonunde..
sevgi, saygi..
_DD_
mkarabulut
31/10/2003, 09:47
Kullandığım veritabanı access
Sürücü ise sun'ın default sunduğu jdbc-odbc driver
Jvm versiyonu 1.4.2
Buyrun koddan da bi parça
---------------------------------------------------------------
String stBuf = "";
System.out.println("Sorgu: "+ SqlEx + "\t" + SqlEx.substring(0,6).toUpperCase());
ResultSet result = st.executeQuery (SqlEx);
ResultSetMetaData meta = result.getMetaData();
for (int i=1; i<= meta.getColumnCount(); i++)
stBuf+= meta.getColumnLabel(i) + "\t";
stBuf += "\n";
for (int i=1; i<= meta.getColumnCount(); i++) {
for (int k=1;k<= meta.getColumnLabel(i).length(); k++) stBuf+="--";
stBuf+="\t";
}
stBuf += "\n";
while (result.next()){
for (int i=1; i<= meta.getColumnCount(); i++){
stBuf += result.getString(meta.getColumnLabel(i)) + "\t";
}
stBuf += "\n";
}
textArea.setText(stBuf);
mkarabulut
31/10/2003, 09:48
Bağlantı için kullandığım kod ise
----------------------------------------------------------
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection ("jdbc:odbc:veri");
} catch(Exception ex) {
sonucText.setText("Hata : Veritabanına bağlanılamadı !\n Desc : " + ex.getMessage());
}
darky_dark
31/10/2003, 13:45
oncelikle kod eklerken code taglerini kullanman cok iyi olur..
yazdigin kodda 1 problem yok, ayni kodu accessin northwind sample db si ile calistirdim, sureyi olctum, baglantiyi acmasi ortalama 300 ms, islemleri bitirmesi ise yaklasik 800 ms suruyor..
sevgi, saygi..
_DD_
mkarabulut
31/10/2003, 14:28
code etiketlerini ekleyecektim ama doğrudan benim koddan alınca girinti-çıkıntılar burada biraz problem oldu o yüzden böyle yapmak durumunda oldum..
Neyse cevap için teşekkürler..
@darky_dark : Bu arada müsaitsen forum yerine ara sıra bazı soruları doğrudan sormam için bir mail adresi verebilirmisin ?
darky_dark
01/11/2003, 18:44
darky_dark@hotmail.com
firsatim oldugu olcude yardim etmeye calisirim..
sevgi, saygi..
_DD_
Forum Yazılımı : vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.