Menyimpan Nilai Hash SHA1 dengan Cekap dalam MySQL
Apabila menyimpan hasil cincang SHA1 dalam pangkalan data MySQL, adalah penting untuk menentukan yang sesuai jenis medan untuk kecekapan storan optimum.
Timbul persoalan: berapakah panjang medan VARCHAR yang sepatutnya untuk menyimpan hasil cincang?
Jawapan:
Walaupun VARCHAR sesuai untuk data panjang boleh ubah, ia tidak sesuai untuk data panjang tetap seperti cincang SHA1. Nilai SHA1 sentiasa 160 bit panjang, dan menggunakan VARCHAR akan mengakibatkan bait tambahan terbuang untuk medan panjang.
Selain itu, menyimpan nilai mentah SHA1 adalah tidak cekap kerana ia menggunakan 4 bit setiap aksara, memerlukan 40 aksara (160/4).
Sebaliknya, adalah disyorkan untuk menggunakan jenis data BINARY(20) dan menukar nilai SHA1 kepada binari menggunakan fungsi UNHEX. Kaedah ini menyimpan cincang dalam format binari, menggunakan 8 bit setiap aksara dan hanya memerlukan 20 aksara (160/8).
Perbandingan Storan:
Perbandingan antara BINARI(20) dan CHAR(40) menggambarkan kelebihan kecekapan:
Dengan jutaan rekod:
Menggunakan jenis data BINARY(20) mengurangkan ruang storan dengan ketara, menjadikannya pilihan pilihan untuk menyimpan nilai cincang SHA1 dalam MySQL.
Atas ialah kandungan terperinci Apakah Jenis Data Paling Cekap untuk Menyimpan Nilai Hash SHA1 dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!