beerfroth (karya asli)
Saya menulis buku tamu sederhana menggunakan sql server dan asp. Melalui upaya terus-menerus, saya menemukan bahwa ada beberapa perbedaan dalam metode eksekusi dan waktu saat menampilkan pesan di halaman.
Mari kita lihat perbandingan waktu beberapa metode melalui perbandingan.
Pertama, gunakan prosedur tersimpan untuk paging. Situasi ini dibagi menjadi dua metode:
Yang pertama adalah menggunakan objek perintah, sebagai berikut:
Set Cmd=server.CreateObject("Adodb.Command")
Cmd.ActiveConnection=samb
Cmd.CommandText="ycuu_gb_getmsg"
Cmd.CommandType=4'adCmdStoredProc
cmd.siap=benar'
set param=Cmd.CreateParameter("@iPageNo",adInteger,1,2,Page)
Cmd.Parameters.Tambahkan param
atur param=Cmd.CreateParameter("@iPageSize",adInteger,1,2,PageSizeConst)
Cmd.Parameters.Tambahkan param
atur rs=Cmd.eksekusi
Cara kedua adalah mengeksekusi secara langsung dengan menggunakan metode eksekusi objek koneksi, sebagai berikut:
set rs=conn.execute ("execute ycuu_gb_getmsg "&page&", "&pagesizeConst)
Kedua, jangan gunakan prosedur tersimpan, langsung gunakan fungsi ADODB.RecordSet untuk paging, kode spesifiknya adalah sebagai berikut:
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "Pilih * DARI Buku Tamu Urutan Berdasarkan tanggal dan waktu Des"
rs.open sql,sambungan,1,1
rs.pagesize = 150'Jumlah pesan yang ditampilkan pada setiap halaman,
total = rs.RecordCount
ukuran halaman saya = rs.ukuran halaman
rs.absolutepage = page
Untuk menampilkan kecepatan lebih jelas, saya menambah jumlah pesan yang ditampilkan di setiap halaman menjadi 150 (sebenarnya, tentu saja saya tidak akan menetapkan nilai sebesar itu). Sedangkan untuk konfigurasi mesin saya, saya akan menghilangkannya karena ini terutama untuk perbandingan kecepatan.
Diketahui waktu eksekusi sebagai berikut:
Tipe pertama: stabil antara 0,1953125 detik hingga 0,2109375 detik, nilai rata-ratanya kira-kira: 0,20 detik
Tipe kedua: stabil antara 0,1716875 detik hingga 0,1857 detik, nilai rata-ratanya kira-kira: 0,177
Jenisdetik
ketiga: stabil antara 0,4375 detik dan 0,4632 detik, nilai rata-ratanya sekitar: 0,45 detik
Namun bila jumlah record yang dibaca adalah 20 maka hasilnya sebagai berikut:
Ditemukan waktu eksekusi sebagai berikut:
Tipe pertama: stabil antara 0,0390625 detik hingga 0,0546875 detik, nilai rata-ratanya sekitar: 0,045 detik
Tipe kedua: stabil antara 0,046875 detik hingga 0,0546875 detik, nilai rata-ratanya adalah tentang Ya: 0,050 detik
Tipe ketiga: stabil antara 0,09375 detik dan 0,1015625 detik. Nilairata
-rata adalah sekitar: 0,97 detik
perintah.eksekusi.
Metode pemanggilan yang pertama tampaknya lebih sederhana.
Pada saat yang sama, dapat dilihat di sini bahwa kecepatan prosedur paging tersimpan memang jauh lebih cepat daripada kecepatan paging recordset.
PS: Saya baru pertama kali menerbitkan artikel, wah wah, sulit sekali saya menulis artikel yang bagus, saya akan bekerja keras kedepannya. Saya harap semua orang akan memaafkan saya atas tulisan saya yang buruk kali ini. Ngomong-ngomong, saya juga ingin bertanya kepada Anda para pahlawan, mana dari dua metode conn.execute dan command.execute yang lebih baik, haha, karena yang saya temukan di Internet hanyalah metode terakhir dalam menjalankan prosedur tersimpan. Entah kenapa saya tidak menggunakan yang sederhana seperti sebelumnya.