溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySql中的longtext字段的返回問題如何解決

發(fā)布時間:2022-07-06 10:24:05 來源:億速云 閱讀:266 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了MySql中的longtext字段的返回問題如何解決的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇MySql中的longtext字段的返回問題如何解決文章都會有所收獲,下面我們一起來看看吧。

MySql中l(wèi)ongtext字段的返回

最近開發(fā)中用到了longtext這種字段。在mysql中該字段的最大長度為4G

如下圖所示

MySql中的longtext字段的返回問題如何解決

MySql中的longtext字段的返回問題如何解決

開發(fā)中遇到的一個問題就是。例如有個article表,然后我們的頁面要將數(shù)據(jù)以列表的形式展示到前端(只顯示幾個字段,如作者,標題等等,例如放到table中顯示多條記錄),但是是將該表中的所有信息都查出來,然后當用戶點擊某條記錄的時候,會跳到詳情頁,在顯示出詳細的信息。

這樣當數(shù)據(jù)量比較多的時候,或者文本的內(nèi)容比較大的時候,就出現(xiàn)問題了。

打開頁面,頁面就會一直加載,數(shù)據(jù)量越大,加載時間就越長,然后才會顯示數(shù)據(jù)列表。這會嚴重影響使用效果。

解決方法

當然是sql語句的問題了,當像上面這樣查詢整個列表的時候,可以不查詢longtext這個字段,將其他的字段查詢出來。然后當用戶點擊某條數(shù)據(jù)時,再根據(jù)該條數(shù)據(jù)的id到數(shù)據(jù)庫去單查這條數(shù)據(jù),這時再將longtext給查出來即可。

說到這里,還要說一種情況,就是有時候從數(shù)據(jù)庫中查到的數(shù)據(jù)封裝到實體類中,怎么也取不到某個字段的值,就是null。這個時候要看看sql語句,返回的結(jié)果集中是否將該字段封裝并且映射到該類對應(yīng)的字段上。

一般情況下都是結(jié)果集中沒有封裝該字段的原因。

Mysql中Text字段的范圍

text:存儲可變長度的非Unicode數(shù)據(jù),最大長度為2^31-1個字符。

text列不能有默認值,存儲或檢索過程中,不存在大小寫轉(zhuǎn)換,后面如果指定長度,不會報錯誤,但是這個長度是不起作用的,意思就是你插入數(shù)據(jù)的時候,超過你指定的長度還是可以正常插入。

mysql中text 最大長度為65,535(2的16次方–1)字符的TEXT列。

如果你覺得text長度不夠,可以選擇

  • MEDIUMTEXT最大長度為16,777,215。

  • LONGTEXT最大長度為4,294,967,295

  • Text主要是用來存放非二進制的文本,如論壇帖子,題目,或者百度知道的問題和回答之類。

需要弄清楚的是text 和 char varchar blob這幾種類型的區(qū)別。

mysql 修改 text字段長度_mysql的text字段長度?mysql數(shù)據(jù)庫中text字段長度不夠的問題…

類型是可變長度的字符串,最多65535個字符;

可以把字段類型改成MEDIUMTEXT(最多存放16777215個字符)或者LONGTEXT(最多存放4294967295個字符).

MySQL supports 4 TEXT field types (TINYTEXT, TEXT, MEDIUMTEXT and LONGTEXT) and this post looks at the maximum length of each of these field types.

MyISAM tables in MySQL have a maximum size of a row of 65,535 bytes, so all the data in a row must fit within that limit. However, the TEXT types are stored outside the table itself and only contribute 9 to 12 bytes towards that limit. (For more information about this refer to the MySQL Manual - Data Storage Requirements chapter). TEXT data types are also able to store much more data than VARCHAR and CHAR text types so TEXT types are what you need to use when storing web page or similar content in a database. The maximum amount of data that can be stored in each data type is as follows: TINYTEXT256 bytes

TEXT65,535 bytes~64kb

MEDIUMTEXT 16,777,215 bytes~16MB

LONGTEXT4,294,967,295 bytes~4GB

In most circumstances the TEXT type is probably sufficient, but if you are coding a content management system it’s probably best to use the MEDIUMTEXT type for longer pages to ensure there are no issues with data size limits.

漢字在utf8mb4中占用幾個字符

答:3個

MySQL官方手冊中對于utf8mb4的解釋是

MySql中的longtext字段的返回問題如何解決

現(xiàn)有數(shù)據(jù)庫版本默認的utf8都為utf8mb3,注意其中所說的"相同的長度"。

所以在utf8mb4下,英文占用1個字節(jié),一般漢字占3個字節(jié),emoji表情占4個字節(jié)。

關(guān)于代碼插入emoji表情報錯,請檢查 表編碼 和 數(shù)據(jù)庫連接 編碼是否同時為utf8mb4。

結(jié)論:數(shù)據(jù)庫和表都設(shè)置為utf8mb4。

關(guān)于“MySql中的longtext字段的返回問題如何解決”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“MySql中的longtext字段的返回問題如何解決”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI