Tip satu: Meningkatkan efisiensi penggunaan koleksi Permintaan
? Mengakses koleksi ASP untuk mengekstrak nilai adalah proses yang memakan waktu dan sumber daya komputasi yang intensif. Karena operasi ini melibatkan serangkaian pencarian melalui koleksi terkait, operasi ini jauh lebih lambat dibandingkan mengakses variabel lokal. Oleh karena itu, jika Anda berencana untuk menggunakan nilai dalam kumpulan Permintaan beberapa kali pada halaman, Anda harus mempertimbangkan untuk menyimpannya sebagai variabel lokal. Misalnya, tulis kode dalam bentuk berikut untuk mempercepat pemrosesan mesin skrip:
strTitle=Request.Form("Title")
strNamaDepan=Permintaan.Formulir("Nama Depan")
strLastName=Permintaan.Form("Nama Belakang")
Jika Len(strTitle) Maka strTitle=strTitle & " "
Jika strFirstName="" Kemudian strFullName=strTitle & " " & strLastName
Elseif Len(strFirstName)=1 Lalu
strFullName=strTitle & strFirstName & ". " & strLastName
Kalau tidak
strFullName=strJudul & strNama Depan & " " & strNama Terakhir
Akhiri Jika
??Tip 2: Akses langsung koleksi yang sesuai
??Jika Anda tidak punya pilihan, jangan gunakan strPage=Request("page") untuk mendapatkan parameter, karena ini akan mencari semua koleksi secara berurutan—QueryString, Form, Cookies, ClientCertificate, ServerVarible hingga nama nilai pertama yang cocok ditemukan. Melakukan hal ini kurang efisien dibandingkan mengakses koleksi yang sesuai secara langsung, dan tidak aman kecuali ada jaminan mutlak bahwa nilainya tidak akan muncul di koleksi lain.
Misalnya, Anda mungkin ingin mencari nama server WEB yang memenuhi permintaan klien. Hal ini dilakukan dengan mencari "SERVER_NAME" di koleksi Request.ServerVarables yang muncul di setiap kueri. Namun, jika koleksi lain juga berisi nilai bernama "SERVER_NAME" (nama kunci tidak peka huruf besar-kecil), Anda akan mendapatkan hasil yang salah saat menggunakan Request("server_Name"). Singkatnya, koleksi yang sesuai harus diakses secara langsung bila memungkinkan.
?? Tip 3: Gunakan properti Response.IsClientConnected sebelum operasi yang memakan waktu
?? Menggunakan Response.IsClientConnected adalah cara yang berguna untuk mengamati apakah pengguna masih terhubung ke server dan memuat halaman web yang dibuat oleh ASP. Jika pengguna memutus atau berhenti mengunduh, kita tidak perlu lagi membuang sumber daya server untuk membuat halaman web karena konten buffer akan dibuang oleh IIS. Jadi, untuk halaman yang membutuhkan banyak waktu untuk menghitung atau menggunakan banyak sumber daya, ada baiknya memeriksa di setiap tahap apakah pengunjung sedang offline:
… Kode untuk membuat bagian pertama halaman
Jika Response.IsClientConnected Lalu
Respon. Siram
Kalau tidak
Respon.Akhir
Akhiri Jika
...... Kode untuk membuat bagian halaman selanjutnya
?? Tip 4: Optimalkan operasi ADO di ASP
?? Secara umum, data merupakan konten sebenarnya dari situs WEB. Oleh karena itu, sangat berguna untuk mengoptimalkan operasi ADO untuk mempercepat eksekusi kode ASP:
??a.Pilih hanya kolom yang diperlukan: Saat membuka recordset ADO, Anda tidak boleh secara otomatis menggunakan nama tabel (yaitu SELECT *) kecuali Anda perlu mendapatkan semua kolom. Menggunakan kolom terpisah berarti jumlah data yang dikirim ke atau diambil dari server berkurang. Bahkan jika Anda perlu menggunakan semua kolom, memberi nama setiap kolom satu per satu akan menghasilkan performa terbaik, karena server tidak harus menafsirkan nama kolom.
??b. Gunakan prosedur tersimpan sebanyak mungkin. Prosedur tersimpan adalah program yang telah dikompilasi sebelumnya yang berisi rencana eksekusi yang telah disiapkan, sehingga dieksekusi lebih cepat daripada pernyataan SQL.
??c. Gunakan kursor dan pola kunci yang sesuai. Jika yang Anda lakukan hanyalah membaca data dari kumpulan data dan menampilkannya di layar, gunakan kumpulan data default hanya-baca dan hanya-teruskan. Semakin sedikit pekerjaan yang harus dilakukan ADO untuk memelihara rincian catatan dan kunci, semakin tinggi kinerja yang dilakukannya.
??d.Gunakan variabel objek. Cara pasti untuk meningkatkan kinerja saat melakukan iterasi pada kumpulan data adalah dengan menggunakan variabel objek untuk menunjuk ke anggota koleksi. Misalnya:
Meskipun Bukan RsGc.EOF
Response.Tulis "Nama proyek:" & RsGc("GcMC") & "(Kode proyek: " & RsGc("GcCode") & ")
"
RsGc.MoveNext
Wend
dapat ditulis ulang sebagai kode berikut untuk mempercepat eksekusi:
set GcMc=RsGc("GcMc")
atur GcCode=RsGc("GcCode")
Sementara Bukan Respon rsGc.EOF. Tulis "Nama proyek: " & GcMc & " (Kode proyek: " & GcCode & ")
" RsGc.MoveNext
Wend
?? Kode baru membuat referensi ke variabel objek, sehingga variabel objek dapat digunakan sebagai pengganti variabel sebenarnya, yang berarti mesin skrip memiliki lebih sedikit pekerjaan karena indeks yang dimasukkan ke dalam koleksi lebih sedikit.
??Tip 5: Jangan mencampur mesin skrip
??Kita tahu bahwa VBScript dan JScript dapat digunakan di halaman ASP. Namun tidak disarankan menggunakan JScript dan VBScript secara bersamaan di halaman yang sama. Karena server harus membuat instance dan mencoba melakukan cache dua (bukan satu) mesin skrip, hal ini meningkatkan beban pada sistem sampai batas tertentu. Oleh karena itu, demi alasan kinerja, Anda sebaiknya tidak mencampur beberapa mesin skrip pada halaman yang sama.