Heim  >  Artikel  >  Datenbank  >  Wie bestimmt MySQL die Größe von VARCHAR?

Wie bestimmt MySQL die Größe von VARCHAR?

王林
王林nach vorne
2023-05-27 21:20:051206Durchsuche

Zuallererst wird die Verwendung des Typs TEXT nicht empfohlen, da die Verwendung von TEXT die Effizienz erheblich beeinträchtigt. Der beste Weg ist die Verwendung von VARCHAR und bestimmen Sie die maximale Größe des Feldes. TEXT类型的,因为使用TEXT会严重影响效率,最好的方式就是使用VARCHAR并确定字段的最大长度。

我们可以先在表里定义一个字段rule_value,并设置长度为255,然后输入最小的json字符串进去:

Wie bestimmt MySQL die Größe von VARCHAR?

使用MySQL的CHAR_LENGTH函数,计算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'

可以看到rule_value的长度为74:

Wie bestimmt MySQL die Größe von VARCHAR?

因为rule_value的值是json数组,所以数组里面的值会不定变大,这个时候,就需要我们去问产品确认,里面的数组最大有多少个?

经过询问,数组最大有10个,那么计算rule_value的长度为:

74*10=740

也就是740个字符,我们可以把之前rule_value的长度VARCHAR(255)改为VARCHAR(740)即可。

最后需要补充一点知识:

  • TEXT最多存65535个字符、MEDIUMTEXT最多存放16777215个字符、LONGTEXT最多存放4294967295个字符,不过一般都不建议使用;

  • 查看MySQL版本命令:select version()

  • MySQL版本4之前,按字节来计算,版本4之后按字符来计算;

  • LENGTH()返回以字节为单位的字符串的长度。CHAR_LENGTH()

    Wir können zuerst ein Feld rule_value in der Tabelle definieren, die Länge auf 255 festlegen und dann die kleinste json-Zeichenfolge eingeben:
Wie bestimmt MySQL die Größe von VARCHAR🎜🎜Verwenden Sie die Funktion CHAR_LENGTH von MySQL, Berechnen Sie die Größe von rule_value: 🎜rrreee🎜Sie können sehen, dass die Länge von rule_value 74 beträgt: 🎜🎜Wie bestimmt MySQL die Größe von VARCHAR🎜🎜Weil der Wert von rule_value ein json Array, daher kann der darin enthaltene Array-Wert größer werden. Zu diesem Zeitpunkt müssen wir das Produkt um eine Bestätigung bitten. Wie hoch ist die maximale Anzahl der darin enthaltenen Arrays? 🎜🎜Nach der Abfrage beträgt die maximale Anzahl von Arrays 10, dann beträgt die berechnete Länge von <code>rule_value: 🎜rrreee🎜Das heißt, wir können die Länge des vorherigen rule_value in <code>VARCHAR(255) kann in VARCHAR(740) geändert werden. 🎜🎜Zuletzt muss ich noch etwas Wissen hinzufügen: 🎜
  • 🎜TEXT kann bis zu speichern 65535 Zeichen, MEDIUMTEXT kann bis zu 16777215 Zeichen speichern und LONGTEXT kann bis zu 4294967295 speichern Zeichen, aber es wird im Allgemeinen nicht empfohlen. Verwenden Sie den Befehl 🎜🎜
  • 🎜View MySQL: select version(); >MySQL
Version 4, berechnet in Bytes, berechnet in Zeichen nach Version 4; 🎜🎜
  • 🎜LENGTH() Gibt die Länge der Zeichenfolge in Bytes zurück. CHAR_LENGTH()Gibt die Länge der Zeichenfolge in Zeichen zurück. 🎜🎜🎜
  • Das obige ist der detaillierte Inhalt vonWie bestimmt MySQL die Größe von VARCHAR?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen