Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah lebih cepat untuk mengkonversi ke varchar atau varchar ke int ketika membandingkan di MySQL?

Itu tergantung pada indeks. Jika kedua kolom memiliki indeks yang disetel, Anda harus mentransmisikan ke int , karena hanya perlu membandingkan 4 byte. Namun, jika hanya varchar kolom diindeks, dilemparkan ke varchar .

Pada akhirnya, Anda harus memiliki permintaan explain ed, untuk melihat indeks apa yang digunakan, dan lakukan transmisi yang sesuai.

Jika tidak ada indeks yang disetel, transmisikan ke int adalah pendekatan yang lebih baik secara umum. Namun, jika tidak ada kumpulan indeks, itu tidak masalah, Anda akan menghemat lebih banyak waktu dengan mengindeks daripada dengan memilih cara yang benar untuk mentransmisikan. Kecuali, sekali lagi, mejanya kecil. Kalau begitu, itu juga tidak masalah.

Faktanya, kita harus memperhitungkan tidak hanya biaya untuk perbandingan, tetapi juga untuk casting:Casting int ke varchar sedikit lebih cepat daripada mengurai varchar ke int . Namun, membandingkan varchar yang memiliki setidaknya 4 karakter akan membuat keunggulan itu tidak berguna. Jika nilai Anda cenderung lebih tinggi dari 999, transmisikan ke int akan lebih cepat. Tapi itu sekarang tergantung pada sistem operasi Anda, arsitektur, set instruksi yang digunakan oleh biner mysql Anda dan sebagainya. Satu-satunya cara untuk mendapatkan jawaban yang benar-benar andal adalah:Tolok ukur situasi tersebut pada mesin target.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan pesan kesalahan yang berarti dari MySQL menggunakan pernyataan yang disiapkan PDO?

  2. mencoba memecahkan kode data (mengekspor Abs ke MySQL)

  3. hibernasi kesalahan kueri SQL asli

  4. Sirilik, AJAX dan database

  5. Sequelize limit dan offset penempatan yang salah dalam kueri