Veri tabanı Testi
Veri tabanı Testi
Merhaba arkadaşlar.
kendi bilgisarımda bir test yaptım. Bunu sizlerle paylaşmak istiyorum.
msde her alanda çok öndeydi.
şimdiye kadar forum da takip ettiğim bilgilerle, büyük bir çelişki içinde.
Yorumlayabilirseniz sevinirim.
İyi Çalışmalar.
Bilgisayar:IBM Laptop-PIV3.06-1GB RAM-100GB HD
İşletim Sistemi: WinXP Pro
Veritabanlarının default değerleriyle oynamadım.
VERITABANI ISLEM TURU KAYITSAYISI 1.SÜRE 2.SÜRE 3.SÜRE BAĞLANTILAR
MSDE2000 APPEND 1000 10 SN 13 SN 17 SN MSDAC
FB2.0 APPEND 1000 35 SN 85 SN 138 SN ADO-ODBC
PG8.2 APPEND 1000 23 SN 45 SN 63 SN ADO-ODBC
MYSQL5.0 MYSQL5.0 APPEND 1000 65 SN 70 SN 70 SN MYDAC
MSDE2000 SELECT 3000X50 2 SN 2 SN 2 SN
FB2.0 SELECT 3000X50 11 S 11 S 11 S
PG8.2 SELECT 3000X50 14 SN 15 SN 15 SN
MYSQL5.0 SELECT 3000X50 7 SN 7 SN 7 SN
MSDE2000 WHERE 500 KERE 3 SN 3 SN 3 SN
FB2.0 WHERE 500 KERE 10 SN 10 SN 10 SN
PG8.2 WHERE 500 KERE
MYSQL5.0 WHERE 500 KERE 10 SN 10 SN 10 SN
kendi bilgisarımda bir test yaptım. Bunu sizlerle paylaşmak istiyorum.
msde her alanda çok öndeydi.
şimdiye kadar forum da takip ettiğim bilgilerle, büyük bir çelişki içinde.
Yorumlayabilirseniz sevinirim.
İyi Çalışmalar.
Bilgisayar:IBM Laptop-PIV3.06-1GB RAM-100GB HD
İşletim Sistemi: WinXP Pro
Veritabanlarının default değerleriyle oynamadım.
VERITABANI ISLEM TURU KAYITSAYISI 1.SÜRE 2.SÜRE 3.SÜRE BAĞLANTILAR
MSDE2000 APPEND 1000 10 SN 13 SN 17 SN MSDAC
FB2.0 APPEND 1000 35 SN 85 SN 138 SN ADO-ODBC
PG8.2 APPEND 1000 23 SN 45 SN 63 SN ADO-ODBC
MYSQL5.0 MYSQL5.0 APPEND 1000 65 SN 70 SN 70 SN MYDAC
MSDE2000 SELECT 3000X50 2 SN 2 SN 2 SN
FB2.0 SELECT 3000X50 11 S 11 S 11 S
PG8.2 SELECT 3000X50 14 SN 15 SN 15 SN
MYSQL5.0 SELECT 3000X50 7 SN 7 SN 7 SN
MSDE2000 WHERE 500 KERE 3 SN 3 SN 3 SN
FB2.0 WHERE 500 KERE 10 SN 10 SN 10 SN
PG8.2 WHERE 500 KERE
MYSQL5.0 WHERE 500 KERE 10 SN 10 SN 10 SN
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Bu çok güzel bilgiler için teşekkürler. Bugün tam böyle bir merak belirmişti kafamda yazın cuk yerine oturdu. Bir yüzsüzlük yapıp burada Microsoft SQL Server 2005 Express Edition (MSDE'nin 2005 versiyonu) ile ilgili bilgiyi de ekleyebilir misin? Kafamda beliren asıl soru buydu da. Hazır diğerlerini bulmuşsun buna da bir bakabilirsen sevinirim. Muhtemelen 2005 daha yavaş çıkacak biliyorum ama somut bir gösterge olursa daha iyi olur.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
s.a.
yaptığınız çalışmayı paylaştığınız için teşekkürler.
ancak yaptığınız test ile ilgili biraz daha bilgi verirseniz sevinirim.
bağlantı şekilleri, insert mantığı(table mı kullandınız yoksa query mi?vs.)
kolay gelsin.
yaptığınız çalışmayı paylaştığınız için teşekkürler.
ancak yaptığınız test ile ilgili biraz daha bilgi verirseniz sevinirim.
bağlantı şekilleri, insert mantığı(table mı kullandınız yoksa query mi?vs.)
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
viewtopic.php?p=39207#39207
20:44:30: Started.
20:44:30: Preparing for relation "ARSIV".
20:44:30: Starting 10000 rows for relation "ARSIV".
20:44:34: Inserted 10000 of 10000 rows for relation "ARSIV".
20:44:34: Finished.
bu şakaysa hiç komik değil, ciddiyse çok komikbide 1 milyon kayıtla deneyeyim bakayım ne olacak Smile
data.gdb
176,681 kb
1.009.282 KAYIT VAR
Alıntı:
select max(toplanabilirdoublebifield) from arsiv
MAX
INTEGER
--------------
1999
1 row(s) fetched (1 row(s) listed).
Exec time: 2.45 s / Fetch time: 0.00 s
.-.-.-.-.-.-.-. ^_^
Aslında karşılaştırma pekte adil olmamış. MSDE için MSDAC kullanıp, yazmışsınız. Yani :
client -> oleDB provider -> msde
şeklinde olmuş. Firebird için :
client -> ado -> odbc -> oledb provider -> firebird
şeklinde olmuş. Bu şuna benziyor : 10 km mesafedeki yola dolaşıp 100 km. mesafe yapıp varmışsınız. Daha sonra 50 km'deki yer daha yakın diyorsunuz
Testlerinizi ibx veya fib + ile yapın bakalım, neler çıkacak.
Kolay gelsin.
client -> oleDB provider -> msde
şeklinde olmuş. Firebird için :
client -> ado -> odbc -> oledb provider -> firebird
şeklinde olmuş. Bu şuna benziyor : 10 km mesafedeki yola dolaşıp 100 km. mesafe yapıp varmışsınız. Daha sonra 50 km'deki yer daha yakın diyorsunuz
Testlerinizi ibx veya fib + ile yapın bakalım, neler çıkacak.
Kolay gelsin.
procedure TForm1.Button15Click(Sender: TObject);
VAR i:integer;
begin
IBQuery1.Open;
edit5.Text:=DateTimeToStr(now);
for i:=1 to 1000 do
begin
IBQuery1.Append;
IBQuery1KAYITNO.Value:=i;
IBQuery1ADI.Text:='ADI'+inttostr(i);
IBQuery1SOYADI.Text:='SOYADI'+inttostr(i);
IBQuery1.Post;
end;
edit6.Text:=DateTimeToStr(now);
end;
kodlarını yazdıktan sonra aşağıdaki hatayı aldım. Bunu çözmeme yardım edebilirseniz IBX ile de test ederim.
IBQuery1:Cannot modify a read-only dataset
İyi çalışmalar.
VAR i:integer;
begin
IBQuery1.Open;
edit5.Text:=DateTimeToStr(now);
for i:=1 to 1000 do
begin
IBQuery1.Append;
IBQuery1KAYITNO.Value:=i;
IBQuery1ADI.Text:='ADI'+inttostr(i);
IBQuery1SOYADI.Text:='SOYADI'+inttostr(i);
IBQuery1.Post;
end;
edit6.Text:=DateTimeToStr(now);
end;
kodlarını yazdıktan sonra aşağıdaki hatayı aldım. Bunu çözmeme yardım edebilirseniz IBX ile de test ederim.
IBQuery1:Cannot modify a read-only dataset
İyi çalışmalar.
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
procedure TForm1.Button15Click(Sender: TObject);
VAR i:integer;
begin
IBDataSet1.Open;
edit5.Text:=DateTimeToStr(now);
for i:=1 to 1000 do
begin
IBDataSet1.Append;
IBDataSet1KAYITNO.Value:=i;
IBDataSet1ADI.Text:='ADI'+inttostr(i);
IBDataSet1SOYADI.Text:='SOYADI'+inttostr(i);
IBDataSet1.Post;
end;
edit6.Text:=DateTimeToStr(now);
end;
kodu yukarıdaki şekilde değiştirdim.
IBDataSet1:Cannot modify a read-only dataset
hatasını aldım.
VAR i:integer;
begin
IBDataSet1.Open;
edit5.Text:=DateTimeToStr(now);
for i:=1 to 1000 do
begin
IBDataSet1.Append;
IBDataSet1KAYITNO.Value:=i;
IBDataSet1ADI.Text:='ADI'+inttostr(i);
IBDataSet1SOYADI.Text:='SOYADI'+inttostr(i);
IBDataSet1.Post;
end;
edit6.Text:=DateTimeToStr(now);
end;
kodu yukarıdaki şekilde değiştirdim.
IBDataSet1:Cannot modify a read-only dataset
hatasını aldım.
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
s.a.
1. kodların code tagı içerisinde yazarsan daha okunaklı olur.
2. ibdataset in kullanımını biraz incelemende fayda var sanırım.
ibdataset in insertsql,modifysql, selectsql ve deletesql leri var. sanırım insert sql e birşey yazmadığın için bu hatayı alıyorsun.
forumda ibdataset i biraz araştır.
kolay gelsin.
1. kodların code tagı içerisinde yazarsan daha okunaklı olur.
2. ibdataset in kullanımını biraz incelemende fayda var sanırım.
ibdataset in insertsql,modifysql, selectsql ve deletesql leri var. sanırım insert sql e birşey yazmadığın için bu hatayı alıyorsun.
forumda ibdataset i biraz araştır.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
ben daha önce hiç FB kullanmadım.
ado ile ibx ile arasındaki hız farkı yazdığım kodla ilgili olabilirmi?
çünkü ibx in daha hızlı olduğunu söylemişsiniz.
procedure TForm1.Button15Click(Sender: TObject);
VAR i:integer;
begin
IBDataSet1.Open;
edit5.Text:=DateTimeToStr(now);
for i:=1 to 5000 do
begin
IBDataSet1.Insert;
IBDataSet1KAYITNO.Value:=i;
IBDataSet1ADI.Text:='ADI'+inttostr(i);
IBDataSet1SOYADI.Text:='SOYADI'+inttostr(i);
IBDataSet1.Post;
end;
edit6.Text:=DateTimeToStr(now);
end;
Süre:110 sn IBX ile
procedure TForm1.Button5Click(Sender: TObject);
VAR i:integer;
begin
ADOQUERY2.Open;
edit5.Text:=DateTimeToStr(now);
for i:=1 to 5000 do
begin
ADOQUERY2.Append;
ADOQUERY2KAYITNO.Value:=i;
ADOQUERY2ADI.Text:='ADI'+inttostr(i);
ADOQUERY2SOYADI.Text:='SOYADI'+inttostr(i);
ADOQUERY2.Post;
end;
edit6.Text:=DateTimeToStr(now);
end;
Süre:15 sn ado ve odbc ile
önce yaptığım testte sonuçları gride bağlamıştım.buda test sonuçlarının yanlış çıkmasına sebep oluyor.
MYSQL5.0 KAYITSAYISI 1.SÜRE BAĞLANTILAR
MSDE2000 APPEND 5000KAYIT 5SN MSDAC
MSDE2000 APPEND 5000KAYIT 4SN ADO-OLEDB
FB2.0 APPEND 5000KAYIT 15 ADO-ODBC
FB2.0 APPEND 5000KAYIT 110 IBX
PG8.2 APPEND 5000KAYIT 24SN ADO-ODBC
MYSQL5.0 APPEND 5000KAYIT 76SN MYDAC
Testlerde;
mysql işlemci üzerinde çalışmıyor, hd üzerinde çalışıyor
postgresql işlemcinin tüm kaynaklarını kullanıyor
firebird işlemcinin %50sinden fazlasını kullanıyor
msdeişlemcinin %50sinden fazlasını kullanıyor
İyi çalışmalar.
ado ile ibx ile arasındaki hız farkı yazdığım kodla ilgili olabilirmi?
çünkü ibx in daha hızlı olduğunu söylemişsiniz.
procedure TForm1.Button15Click(Sender: TObject);
VAR i:integer;
begin
IBDataSet1.Open;
edit5.Text:=DateTimeToStr(now);
for i:=1 to 5000 do
begin
IBDataSet1.Insert;
IBDataSet1KAYITNO.Value:=i;
IBDataSet1ADI.Text:='ADI'+inttostr(i);
IBDataSet1SOYADI.Text:='SOYADI'+inttostr(i);
IBDataSet1.Post;
end;
edit6.Text:=DateTimeToStr(now);
end;
Süre:110 sn IBX ile
procedure TForm1.Button5Click(Sender: TObject);
VAR i:integer;
begin
ADOQUERY2.Open;
edit5.Text:=DateTimeToStr(now);
for i:=1 to 5000 do
begin
ADOQUERY2.Append;
ADOQUERY2KAYITNO.Value:=i;
ADOQUERY2ADI.Text:='ADI'+inttostr(i);
ADOQUERY2SOYADI.Text:='SOYADI'+inttostr(i);
ADOQUERY2.Post;
end;
edit6.Text:=DateTimeToStr(now);
end;
Süre:15 sn ado ve odbc ile
önce yaptığım testte sonuçları gride bağlamıştım.buda test sonuçlarının yanlış çıkmasına sebep oluyor.
MYSQL5.0 KAYITSAYISI 1.SÜRE BAĞLANTILAR
MSDE2000 APPEND 5000KAYIT 5SN MSDAC
MSDE2000 APPEND 5000KAYIT 4SN ADO-OLEDB
FB2.0 APPEND 5000KAYIT 15 ADO-ODBC
FB2.0 APPEND 5000KAYIT 110 IBX
PG8.2 APPEND 5000KAYIT 24SN ADO-ODBC
MYSQL5.0 APPEND 5000KAYIT 76SN MYDAC
Testlerde;
mysql işlemci üzerinde çalışmıyor, hd üzerinde çalışıyor
postgresql işlemcinin tüm kaynaklarını kullanıyor
firebird işlemcinin %50sinden fazlasını kullanıyor
msdeişlemcinin %50sinden fazlasını kullanıyor
İyi çalışmalar.