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