Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah MySQL menentukan saiz VARCHAR

Bagaimanakah MySQL menentukan saiz VARCHAR

王林
王林ke hadapan
2023-05-27 21:20:051209semak imbas

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:

Bagaimanakah MySQL menentukan saiz VARCHAR

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:

Bagaimanakah MySQL menentukan saiz VARCHAR

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

  • Sebelum

    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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam