国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL使用TEXT/BLOB類型的知識點(diǎn)詳解

2024-07-24 12:54:34
字體:
供稿:網(wǎng)友

一、TEXT和BLOB的區(qū)別

TEXT和BLOB家族之間僅有的不同是BLOB類型存儲的是二進(jìn)制數(shù)據(jù),沒有排序規(guī)則或字符集,而TEXT類型有字符集或排序規(guī)則。說白了如果要儲存中文則選擇TEXT。

二、默認(rèn)值問題

Strict Mode下不能設(shè)置默認(rèn)值,否則會報(bào)can't have a default value錯(cuò):

mysql> create table `test`.`text_blob`(  -> `a_text` text DEFAULT ' ' ,  -> `b_blob` blob  -> );ERROR 1101 (42000): BLOB/TEXT column 'a_text' can't have a default value

原因:http://m.survivalescaperooms.com/article/181667.htm

select @@sql_mode;//查看模式

trict Mode下有以下限制:

1).不支持對not null字段插入null值

2).不支持對自增長字段插入”值,可插入null值

3).不支持 text 字段有默認(rèn)值

三、排序

MySQL對TEXT和BLOB列進(jìn)行排序與其他類型不同:只對每個(gè)列的最前max_sort_length字節(jié)而不是整個(gè)字符串排序。
默認(rèn)是1024,可以通過配置文件修改。

mysql> SHOW VARIABLES LIKE 'max_sort_length';+-----------------+-------+| Variable_name | Value |+-----------------+-------+| max_sort_length | 1024 |+-----------------+-------+1 row in set (0.00 sec)

四、創(chuàng)建前綴索引

通常最好設(shè)置開始的部分字符作為索引,這樣可以大大節(jié)約索引空間,從而提高索引效率。

alter table table1 add key (text1(1024));

知識點(diǎn)擴(kuò)展:

MySQL字段設(shè)計(jì)規(guī)范避免使用TEXT/BLOB數(shù)據(jù)類型

一、說明

假期有時(shí)間可以多去看看一些表的設(shè)計(jì),發(fā)現(xiàn)了不少問題,老系統(tǒng)上過百的字段,里面含有大量的mediumtext,不到500萬的數(shù)據(jù)量,開發(fā)規(guī)范中有要求表設(shè)計(jì)不要超過500萬數(shù)據(jù)量。查看了表占用的磁盤空間120G,毫無疑問是大表,當(dāng)初設(shè)計(jì)的時(shí)候就沒有考慮過設(shè)計(jì)。一句話上線能用就行,管他呢。

二、MySQL規(guī)范

1、單表不要超過500萬條記錄,同時(shí)評估單表所占用磁盤空間不要超過50G,否則考慮優(yōu)化、分表等。

2、禁用text字段類型,如果必須的用,也需要單獨(dú)設(shè)計(jì)表。

三、禁用text字段類型原因

1、性能很差,排序等操作時(shí),就不能使用內(nèi)存臨時(shí)表,必須使用磁盤臨時(shí)表進(jìn)行。

2、TEXT或BLOB類型只能使用前綴索引,MySQL對索引字段長度是有限制的。

四、解決辦法

定好規(guī)范,嚴(yán)格執(zhí)行(執(zhí)行很難),一兩個(gè)DBA面對幾十上百的業(yè)務(wù)系統(tǒng),幾萬個(gè)表,上百萬的字段通過每一個(gè)表和字段人工審核是不可能完成的,最終還是要靠智能化的審核系統(tǒng)!

到此這篇關(guān)于MySQL使用TEXT/BLOB類型的知識點(diǎn)詳解的文章就介紹到這了,更多相關(guān)MySQL使用TEXT/BLOB類型的幾點(diǎn)注意內(nèi)容請搜索錯(cuò)新站長站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持錯(cuò)新站長站!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汉沽区| 金昌市| 阿尔山市| 江门市| 济源市| 永登县| 四平市| 西盟| 瑞昌市| 乌拉特前旗| 丰县| 阿拉善盟| 云林县| 天峻县| 吉首市| 大余县| 辉南县| 盈江县| 黄大仙区| 宁陕县| 玛曲县| 太湖县| 昌宁县| 旅游| 读书| 策勒县| 万荣县| 万载县| 苏尼特右旗| 黔西县| 广灵县| 淮安市| 维西| 雷山县| 那坡县| 泰宁县| 施甸县| 彭山县| 阿坝县| 平果县| 安西县|