ColdFusion merupakan satu bahasa pengaturcaraan untuk pembangunan sistem. Disini ada beberapa amalan baik penggunaan Cold Fusion yang boleh diamalkan.
1) Jika data yang besar dan melibatkan banyak table coding perlu menggunakan VIEW dan joinkan table yang diperlukan.
2) Setiap session variable akan disimpan didalam memori server, jika terlalu banyak session variable tidak di'delete' penggunaan memori akan bertambah dan boleh menyebabkan server slow.
Penyelesaian:
· Session Variable perlu di"delete" selepas digunakan contoh sediakan butang KELUAR apabila klik butang KELUAR clearkan session variable
Contoh :
<cfscript>
StructClear(Session);
</cfscript>
· Set tempoh aktif bagi session variable bagi kes dimana pengguna close windows tanpa logout.
· Pada client storage (server), gunakan cookies dan bukannya registry. Cookies akan disimpan pada PC pengguna.
3) Cuba elakkan didalam <cfoutput></cfouput> ada <cfquery>
Contoh:
-------AA-----
<cfquery name="q_papar" datasource ="xxx">
SELECT nama,nokp,kodnegeri from ltg_guru
WHERE no_kp ='9999999'
</cfquery>
-------BB-----
<cfouput query ="q_papar">
<cfquery name="q_negeri" datasource ="xxxx">
SELECT negeri FROM lt_negeri
WHERE kodnegeri ='#kodnegeri#'
</cfquery>
<cfoutput>
Penerangan :
Jika ada 50K data bermakna 50K kali query BB akan dilakukan
Penyelesaian:
Ubah suai SQL pada query AA
<cfquery name ="q_papar" datasource ="xxx">
SELECT a.nama,a.nokp,a.kodnegeri,a.kodnegeri,b.negeri
FROM ltg_guru a, lt_negeri b
WHERE a.nokp ='9999999' AND a.kodnegeri = b.kodnegeri
</cfquery>
4) Sebolehnya elak menggunakan SELECT *. Ini kerana program itu mengarahkan mengambil semua medan, sedangkan mungkin kita nak menggunakan 5 medan sahaja.
5) Standard debugging time bagi ColdFusion adalah 250 ms. Sekiranya lebih dari 250 ms, bermakna coding tersebut bermasalah.
6) Index key perlu dibuat pada setiap sambungan table.
7) Penggunaan <cftransaction> memastikan semua transaction selesai kemudian baru commit data ke database.
8) Masalah kandungan tidak dapat dipaparkan pada browser adalah kerana penggunaan script Ajax / Javascript ataupun version browser yang tidak sesuai. Untuk memastikan kesesuaian pada lebih 1 browser, gunakan script yang boleh merangkumi kedua-dua browser.
1) Jika data yang besar dan melibatkan banyak table coding perlu menggunakan VIEW dan joinkan table yang diperlukan.
2) Setiap session variable akan disimpan didalam memori server, jika terlalu banyak session variable tidak di'delete' penggunaan memori akan bertambah dan boleh menyebabkan server slow.
Penyelesaian:
· Session Variable perlu di"delete" selepas digunakan contoh sediakan butang KELUAR apabila klik butang KELUAR clearkan session variable
Contoh :
<cfscript>
StructClear(Session);
</cfscript>
· Set tempoh aktif bagi session variable bagi kes dimana pengguna close windows tanpa logout.
· Pada client storage (server), gunakan cookies dan bukannya registry. Cookies akan disimpan pada PC pengguna.
3) Cuba elakkan didalam <cfoutput></cfouput> ada <cfquery>
Contoh:
-------AA-----
<cfquery name="q_papar" datasource ="xxx">
SELECT nama,nokp,kodnegeri from ltg_guru
WHERE no_kp ='9999999'
</cfquery>
-------BB-----
<cfouput query ="q_papar">
<cfquery name="q_negeri" datasource ="xxxx">
SELECT negeri FROM lt_negeri
WHERE kodnegeri ='#kodnegeri#'
</cfquery>
<cfoutput>
Penerangan :
Jika ada 50K data bermakna 50K kali query BB akan dilakukan
Penyelesaian:
Ubah suai SQL pada query AA
<cfquery name ="q_papar" datasource ="xxx">
SELECT a.nama,a.nokp,a.kodnegeri,a.kodnegeri,b.negeri
FROM ltg_guru a, lt_negeri b
WHERE a.nokp ='9999999' AND a.kodnegeri = b.kodnegeri
</cfquery>
4) Sebolehnya elak menggunakan SELECT *. Ini kerana program itu mengarahkan mengambil semua medan, sedangkan mungkin kita nak menggunakan 5 medan sahaja.
5) Standard debugging time bagi ColdFusion adalah 250 ms. Sekiranya lebih dari 250 ms, bermakna coding tersebut bermasalah.
6) Index key perlu dibuat pada setiap sambungan table.
7) Penggunaan <cftransaction> memastikan semua transaction selesai kemudian baru commit data ke database.
8) Masalah kandungan tidak dapat dipaparkan pada browser adalah kerana penggunaan script Ajax / Javascript ataupun version browser yang tidak sesuai. Untuk memastikan kesesuaian pada lebih 1 browser, gunakan script yang boleh merangkumi kedua-dua browser.
No comments:
Post a Comment