Rumah > Artikel > pangkalan data > Bagaimanakah MySQL menentukan saiz VARCHAR
Pertama sekali, tidak digalakkan untuk menggunakan jenis TEXT
, kerana penggunaan TEXT
akan menjejaskan kecekapan secara serius Cara terbaik ialah menggunakan VARCHAR
dan menentukan panjang maksimum medan.
Kita boleh mentakrifkan medan rule_value
dahulu dalam jadual, tetapkan panjang kepada 255, dan kemudian masukkan rentetan json
terkecil:
Gunakan fungsi CHAR_LENGTH
MySQL untuk mengira saiz rule_value
:
SELECT id,rule_type,rule_value,CHAR_LENGTH(rule_value) as rule_value_length,rule_mark FROM test_table WHERE rule_type = 'RANDOM_STR'
Anda boleh melihat bahawa panjang rule_value
ialah 74:
kerana Nilai rule_value
ialah tatasusunan json
, jadi nilai dalam tatasusunan mungkin menjadi lebih besar Pada masa ini, kita perlu meminta produk untuk pengesahan Apakah bilangan maksimum tatasusunan di dalamnya.
Selepas siasatan, bilangan maksimum tatasusunan ialah 10, maka panjang yang dikira rule_value
ialah:
74*10=740
, iaitu 740 aksara Kita boleh menukar panjang kepada rule_value
Hanya VARCHAR(255)
. VARCHAR(740)
Akhir sekali, saya perlu menambah sedikit pengetahuan:
boleh menyimpan sehingga TEXT
aksara, 65535
boleh menyimpan sehingga MEDIUMTEXT
aksara Aksara, 16777215
boleh menyimpan sehingga LONGTEXT
aksara, tetapi secara amnya tidak disyorkan untuk digunakan; >; 4294967295
versi 4, ia dikira dalam bait, dan selepas versi 4, ia dikira dalam aksara; MySQL
mengembalikan aksara dalam bait Panjang rentetan. select version()
Mengembalikan panjang rentetan dalam aksara.
Atas ialah kandungan terperinci Bagaimanakah MySQL menentukan saiz VARCHAR. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!