首頁  >  文章  >  資料庫  >  MySQL怎麼確定VARCHAR的大小

MySQL怎麼確定VARCHAR的大小

王林
王林轉載
2023-05-27 21:20:051257瀏覽

首先不建議使用TEXT類型的,因為使用TEXT會嚴重影響效率,最好的方式就是使用VARCHAR並確定欄位的最大長度。

我們可以先在表格裡定義一個欄位rule_value,並且設定長度為255,然後輸入最小的json字串進去:

MySQL怎麼確定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:

MySQL怎麼確定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()傳回以字元為單位的字串的長度。

  • #

以上是MySQL怎麼確定VARCHAR的大小的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除