Ads

Ads

Translate

Showing posts with label DVD Tutorial Delphi. Show all posts
Showing posts with label DVD Tutorial Delphi. Show all posts

Monday, 24 August 2015

Mempercepat Pengolahan SQL dengan Array DML

Interbase and Oracle tested

Array DML di FireDAC membantu Anda mengambil keuntungan dari mesin database yang mendukung fitur ini dengan mudah.
 Untuk melihat perbedaan dalam kode dan kecepatan, memungkinkan mengeksplorasi contoh sederhana. Contoh menggunakan tabel berikut disebut tes yang berisi dua bidang, Integer dan String.
CREATE TABLE test(Field1 INTEGER, field2 VARCHAR(20))
Cara khas untuk menyisipkan 10000 catatan adalah dengan menggunakan loop, di mana kita memiliki permintaan yang hanya update parameter dan mengeksekusi SQL.


const
  NUM_INSERTS = 10000;

procedure TForm7.Button1Click(Sender: TObject);
var i: integer; t: integer;
begin
  FDQuery1.ExecSQL('DELETE FROM test');
  FDQuery1.SQL.Text := 'INSERT INTO test(field1, field2) values (:field1, :field2)';
  t := GetTickCount;
  FDQuery1.Connection.StartTransaction;
  try
    for i := 0 to NUM_INSERTS-1 do
    begin
      FDQuery1.Params[0].AsInteger := i;
      FDQuery1.Params[1].AsString := 'Str' + IntToStr(i);
      FDQuery1.ExecSQL;
    end;
  finally
    FDQuery1.Connection.Commit;
  end;
  (Sender as TButton).Caption :=  FloatToStr((GetTickCount() - t) / 1000);
end;

Untuk mengubah kode ini untuk menggunakan Array DML, ada sangat sedikit untuk melakukan.
 Pertama, sebelum menetapkan nilai parameter Anda dapat mengatur ukuran dari array yang ingin Anda masukkan. (Anda selalu dapat mengatur ini lebih tinggi yang diperlukan jika Anda tidak yakin)
Setelah ukuran array diatur, ada sedikit modifikasi dengan cara nilai-nilai parameter yang ditetapkan. FireDAC mendukung setter jamak untuk menetapkan setiap record dalam array dinamis. 
Silahkan rubah kode diatas dengan kode dibawah ini.
procedure TForm7.Button2Click(Sender: TObject);
var i: integer; t: integer;
begin
  FDQuery1.ExecSQL('DELETE FROM test');
  FDQuery1.SQL.Text := 'INSERT INTO test(field1, field2) values (:field1, :field2)';
  t := GetTickCount;
  FDQuery1.Connection.StartTransaction;
  try
    FDQuery1.Params.ArraySize := NUM_INSERTS;
    for i := 0 to NUM_INSERTS-1 do
    begin
      FDQuery1.Params[0].AsIntegers[i] := i;
      FDQuery1.Params[1].AsStrings[i] := 'Str' + IntToStr(i);
    end;
    FDQuery1.Execute(NUM_INSERTS,0);
  finally
    FDQuery1.Connection.Commit;
  end;
  (Sender as TButton).Caption :=  FloatToStr((GetTickCount() - t) / 1000);
end;


Jadi apa perbedaan pada run time? Pada PC saya (mesin virtual), menjalankan 10.000 sisipan mengambil 1,014 detik di blok pertama kode, dibandingkan dengan 0,125 detik dengan blok kedua kode.yaitu hanya 12% dari waktu pemrosesan yang asli dan lebih dari 8 kali lebih cepat!


Yang butuh dvd DelphiXE8 bisa japri saya di 085787677544

Wednesday, 21 August 2013

Delphi 73 Samples with Source Code

Berisikan Sourcecode Delphi lengkap dengan Source Code :

 audio-spektor.zip
 auto-replacer.zip
 black-proactive-system.zip
 bred-2.zip
 cad-5.zip
 calculator-osa.zip
 captcha.zip
 chronos.zip
 compare-pictures.zip
 context-menu-shell-extension.zip
 copy-file-with-progressbar.zip
 dcp-crypt.zip
 delphi-mmog.zip
 desktop-icon-flying.zip
 digital-print-calculator.zip
 directory-monitor.zip
 domino-2.0.zip
 example-autocomplete.zip
 excel-films-lister.zip
 exe-fog.zip
 fb-create-user.zip
 file-cutter.zip
 firetuning-tweak.zip
 firewall-utility.zip
 flash-and-cd-rom-safe-removal.zip
 fly-game.zip
 fw-zip.zip
 game-fanorona.zip
 get-math.zip
 google-pagerank.zip
 html-resources.zip
 igra-v-shahmati.zip
 imadering.zip
 it-dgt.zip
 labirint-generation.zip
 library-database.zip
 life.zip
 lockdisk-cd-dvd.zip
 lynx-encryption.zip
 lynx-ftp-client.zip
 market-monitoring-and-billing.zip
 molecule.zip
 music-pro.zip
 nettrafmonitor.zip
 netview.zip
 notebook-battery-info.zip
 old-pc-simulation.zip
 original-clock.zip
 pac-man-game.zip
 pc-info.zip
 ping-statistics.zip
 power-manager.zip
 prng-demo.zip
 r-timer.zip
 registry-cleaner.zip
 rubiks-cube.zip
 seo-tic-pagerank.zip
 seo-tools.zip
 simple-webbrowser.zip
 snake-minisaper-winapi.zip
 snow-effect.zip
 sokoban.zip
 sound-visualisation.zip
 stream-player.zip
 super-copier-2.zip
 test-xml-xsd.zip
 uac-user-account-control.zip
 user-activity-monitor.zip
 virtual-midi-keyboard.zip
 vscript.zip
 windows-api-sendmessage.zip
 x-versus-0.zip
 xcore-antivirus.zip

Download https://www.facebook.com/groups/kppdi/10151870801890850/
Password : fajardelphi

Best Post This Year

Install Fortesreport community Delphi 7 dan RX Berlin

Download  Pertama2 kita harus punya file installernya terlebih dahulu, download  https://github.com/fortesinformatica/fortesrepo...

Total Pageviews

© 2014 Fajar Priyadi. WP themonic converted by Bloggertheme9. Published By Gooyaabi Templates | Powered By Blogger
TOP