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

 更新時間:2022年07月05日 15:20:40   作者:java_xxxx  
這篇文章主要介紹了MySql中的longtext字段的返回問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MySql中longtext字段的返回

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

如下圖所示

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

這樣當數據量比較多的時候,或者文本的內容比較大的時候,就出現問題了。

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

解決方法

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

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

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

Mysql中Text字段的范圍

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

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

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

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

  • MEDIUMTEXT最大長度為16,777,215。
  • LONGTEXT最大長度為4,294,967,295
  • Text主要是用來存放非二進制的文本,如論壇帖子,題目,或者百度知道的問題和回答之類。

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

mysql 修改 text字段長度_mysql的text字段長度?mysql數據庫中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的解釋是

現有數據庫版本默認的utf8都為utf8mb3,注意其中所說的"相同的長度"。

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

關于代碼插入emoji表情報錯,請檢查 表編碼 和 數據庫連接 編碼是否同時為utf8mb4。

結論:數據庫和表都設置為utf8mb4。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳解MySQL數據庫之觸發器

    詳解MySQL數據庫之觸發器

    這篇文章主要介紹了MySQL數據庫之觸發器的相關資料,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-09-09
  • mysql 修改用戶密碼圖文介紹

    mysql 修改用戶密碼圖文介紹

    有許多朋友經常需要修改mysql修改用戶密碼,今天提供圖文并茂來解決此類問題,需要的朋友可以參考下
    2012-11-11
  • 8種手動和自動備份MySQL數據庫的方法

    8種手動和自動備份MySQL數據庫的方法

    作為流行的開源數據庫管理系統,MySQL的使用者眾多,為了維護數據安全性,數據備份是必不可少的。本文就為大家介紹幾種適用于企業的數據備份方法,需要的朋友可以參考下
    2018-10-10
  • Slave memory leak and trigger oom-killer

    Slave memory leak and trigger oom-killer

    這篇文章主要介紹了Slave memory leak and trigger oom-killer,需要的朋友可以參考下
    2016-07-07
  • mysql 8.0.15 winx64解壓版圖文安裝教程

    mysql 8.0.15 winx64解壓版圖文安裝教程

    這篇文章主要為大家詳細介紹了mysql 8.0.15 winx64解壓版圖文安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • mysql共享鎖與排他鎖用法實例分析

    mysql共享鎖與排他鎖用法實例分析

    這篇文章主要介紹了mysql共享鎖與排他鎖用法,結合實例形式分析了mysql共享鎖與排他鎖相關概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2019-09-09
  • winx64下mysql5.7.19的基本安裝流程(詳細)

    winx64下mysql5.7.19的基本安裝流程(詳細)

    這篇文章主要介紹了winx64下mysql5.7.19的基本安裝流程,需要的朋友可以參考下
    2017-10-10
  • mysql列轉行以及年月分組實例

    mysql列轉行以及年月分組實例

    下面小編就為大家帶來一篇mysql列轉行以及年月分組實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • mysql下完整導出導入實現方法

    mysql下完整導出導入實現方法

    對于大量數據的導入導出,是件挺麻煩的事,需要考慮很多的細節,這類對于需要大量數據導入導出的朋友可以參考下。
    2010-12-12
  • MySQL無法啟動1067錯誤的又一種解決方法(機房斷電)

    MySQL無法啟動1067錯誤的又一種解決方法(機房斷電)

    今早在對一張table 創建primay key過程中發生了斷電,當電腦再次啟動時候,發現mysql 服務無法啟動,使用 net start 提示 1067錯誤,折騰了2個小時無法解決,后來只能通過手工刪除數據文件,日志文件,再啟動服務,然后導入數據來完成
    2013-01-01

最新評論

美丽人妻被按摩中出中文字幕