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

Bagaimana cara menyimpan nomor 128 bit dalam satu kolom di MySQL?

Saya mendapati diri saya mengajukan pertanyaan ini dan dari semua posting yang saya baca tidak pernah menemukan perbandingan kinerja. Jadi, inilah upaya saya.

Saya telah membuat tabel berikut, diisi dengan 2.000.000 alamat ip acak dari 100 jaringan acak.

id NULL, UNIQUE uidx (haddr, laddr));CREATE TABLE ipv6_address_decimal ( id SERIAL NOT NULL AUTO_INCREMENT PRIMARY KEY, addr DECIMAL(39,0) NOT NULL UNIQUE);

Kemudian saya PILIH semua alamat ip untuk setiap jaringan dan mencatat waktu respons. Waktu respons rata-rata pada tabel dua besar adalah sekitar 1 detik sedangkan pada tabel biner sekitar seperseratus detik.

Berikut pertanyaannya.

PILIH JUMLAH(*) FROM ipv6_address_twobigintsWHERE haddr &NETMASK_HIGH =NETWORK_HIGHAND laddr &NETMASK_LOW =NETWORK_LOWSELECT COUNT(*) FROM ipv6_address_binaryWHERE addr>=NETWORK_address_LOWSELECT COUNT(*) FROM ipv6_address_binaryWHERE addr>=NETWORKAND addr_SELECT SIARAN 

Waktu respons rata-rata:

Grafik:

BINARY_InnoDB 0.0119529819489BINARY_MyISAM 0.0139244818687DECIMAL_InnoDB 0.017379629612DECIMAL_MyISAM 0.0179929423332BIGINT_InnoDB 0.782350552082BIGINT_MyISAM 1.07809265852 


  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 agar UTF-8 berfungsi di aplikasi web Java?

  2. SCHEMA() Fungsi di MySQL

  3. Permintaan MySQL untuk waktu GMT saat ini

  4. Bagaimana Anda mendapatkan banyak hasil dari satu CallableStatement?

  5. Menghapus jutaan baris di MySQL