Lingkungan: winxp sp2, mysql5.0.18, tabel driver mysqlodbc 3.51 menggunakan mesin myisam. akses 2003
Tempat yang berbeda:
1. Saat memasukkan data, mysql harus mencoba menggunakan pernyataan insert into dan menghindari penggunaan rs.addnew. Jika perlu menggunakannya, Anda harus mengatur conn.CursorLocation=3 terlebih dahulu Saya menemukan bahwa menggunakan insert lebih cepat daripada addnew 3 kali. Selain itu, jika Anda menggunakan rs.addnew saat rs.update, Anda tidak bisa langsung mendapatkan nilai rs (id) dalam akses.
2. Perbandingan dengan akses:
Dengan struktur tabel yang sama, saat menggunakan insert untuk menyisipkan 20.000 data, MySQL membutuhkan waktu 7,5 detik, dan jika menggunakan rs.addnew membutuhkan waktu 24 detik! Dalam aksesnya, penggunaan insert membutuhkan waktu 19,8 detik, tetapi rs.addnew hanya membutuhkan waktu 2,8 detik!
Perbandingan kueri: Mengakses kueri 400.000 lembar data memerlukan waktu 12 detik, kueri MySQL memerlukan waktu 14 detik, yang sedikit lebih lambat.
Ringkasan: Secara umum, kecepatan penyisipan akses sekitar tiga kali lebih cepat dibandingkan mysql. Saat melakukan query data, jika jumlah datanya relatif kecil, aksesnya sekitar 2 kali lebih cepat dibandingkan mysql. Namun, jika jumlah datanya banyak, kecepatan query mysql tidak banyak berubah, namun aksesnya turun secara signifikan.
Tentu saja, mysql harus lebih cepat daripada akses. Saya kira masalahnya terletak pada driver odbc-nya, dan driver akses menggunakan ole. Microsoft telah melakukan banyak optimasi untuk itu, jadi dalam pengujian ini, mysql dirugikan! Mengenai kinerja konkurensi, saya belum mengujinya, tapi menurut saya aksesnya seharusnya jauh lebih buruk daripada mysql.
Jika Anda ingin menggunakan
rs.jumlah halaman
rs.pagesize
rs.AbsolutePage
rs.recordcount
Untuk properti seperti itu, Anda harus terlebih dahulu conn.CursorLocation=3
Jika tidak, atribut di atas tidak dapat digunakan.
Selain itu, untuk mencegah penyisipan karakter yang kacau dan kesalahan berbahasa Mandarin, Anda harus segera setelah conn.open: conn.Execute (SET NAMES 'gb2312')
Jika tidak, kesalahan penyisipan pasti akan terjadi, dan kode akan kacau.
Metode koneksi:
'Hubungkan menggunakan DNS sistem:
strkoneksi=dsn=mysql; OPSI=16384;driver={driver mysql odbc 3.51};server=127.0.0.1;uid=root;pwd=67918;database=test
'Gabungkan langsung dengan string:
'strkoneksi=Driver={driver mysql odbc 3.51}; Server=localhost; Port=3306; Opsi=0;
setel koneksi=server.buat objek(adodb.koneksi)
samb.CursorLocation=3
koneksi str.buka