首頁 > 資料庫 > mysql教程 > MySQL怎麼確定VARCHAR的大小

MySQL怎麼確定VARCHAR的大小

王林
發布: 2023-05-27 21:20:05
轉載
1294 人瀏覽過

首先不建議使用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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板