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

Performa mysql BIGINT dibandingkan dengan INT

Untuk menjawab pertanyaan Anda:ya, performanya akan lebih sedikit. Jelas, semakin besar tipenya, semakin besar tabelnya, semakin lambat kuerinya (lebih banyak I/O, indeks lebih besar, waktu akses lebih lama, hasil lebih kecil kemungkinannya untuk masuk ke berbagai cache, dan seterusnya). Jadi sebagai aturan praktis:selalu gunakan tipe terkecil yang sesuai dengan kebutuhan Anda.

Meskipun demikian, kinerja tidak masalah . Mengapa? Karena ketika Anda mencapai titik di mana Anda meluapkan INT, maka BIGINT adalah satu-satunya solusi dan Anda harus menghadapinya. Juga pada saat itu (mengingat Anda menggunakan PK kenaikan otomatis, Anda akan lebih dari 4 miliar baris), Anda akan memiliki masalah kinerja yang lebih besar, dan overhead BIGINT dibandingkan dengan INT akan menjadi kekhawatiran Anda yang paling kecil.

Jadi, pertimbangkan poin-poin berikut:

  • Gunakan UNSIGNED jika Anda tidak membutuhkan nilai negatif, itu akan menggandakan batas.
  • Nilai maksimal INT yang tidak ditandatangani adalah 4.294.967.295. Jika Anda menggunakan PK kenaikan otomatis, dan Anda hanya memiliki 300.000 entri, Anda tidak perlu khawatir . Anda bahkan dapat menggunakan MEDIUMINT saat ini, kecuali jika Anda berencana untuk pertumbuhan yang sangat cepat. (lihat http://dev.mysql.com/doc /refman/5.1/en/integer-types.html )
  • Angka dalam kurung setelah jenis tidak memengaruhi nilai maksimum jenis . INT(7) sama dengan INT(8) atau INT(32). Ini digunakan untuk menunjukkan lebar tampilan jika Anda menentukan ZEROFILL (lihat http://dev.mysql.com/doc/refman/5.1/en/numeric-type-overview.html )


  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 mengambil mikrodetik atau milidetik dari waktu MySQL saat ini?

  2. Hitung perbedaan antara dua datetime di MySQL

  3. fungsi php tidak mengembalikan semua hasil dari kueri MySQL di foreach

  4. Tarik kata X pertama (bukan hanya karakter) dari mySQL

  5. Bagaimana mendefinisikan pesanan ORDER BY khusus di mySQL