char和varchar
char 、varchar 都用來儲存字元春,東漢時它們儲存和檢索的方式不同。char 屬於固定長度的字元型別,而varchar 屬於可變長度的字元型別。
由於char 是固定長度的,所以他的處理速度比varchar 快很多,但是其缺點是浪費儲存空間。程式需要對行尾的空格進行處理,所以對於那些長度變化不大並且對查詢速度有要求的資料可以考慮使用char 型別來儲存。
不同的儲存引擎堆char 和varchar 的使用原則有所不同:
text 和blob
在儲存較大文字是通常使用text 或者 blob ,兩者主要的區別是blob 可以用來儲存二進位制資料,比如**;而text 只能儲存字元資料.
text 和blob 值會引起一些效能問題,特別是在執行了大量的刪除資料操作時。刪除資料會在表中留下很大的空洞很大的「空洞」,以後填入這些空洞的記錄再插入效能上會有影響。為了提高效能,建議使用 optimize table 功能對這類表進行碎片整理,避免因為「空洞」導致效能問題。
測試案例:
create table t (id varchar(100), context text);
insert into t values ( 1, repeat(『haha』,100);
insert into t values ( 2, repeat(『haha』,100);
insert into t values ( 3, repeat(『haha』,100);
MySQL學習筆記(六) 選擇合適的資料型別
char和varchar型別相似,都用來儲存字串,但是它們儲存和檢索的方式不同。char屬於固定長度的字元型別,而varchar屬於可變長度的字元型別。由於char是固定長度的,所以它的處理速度比varchar快得多,但是其缺點是浪費儲存空間,程式需要對行尾空格進行處理,所以對那些長度變化不大並且查...
高效能MySQL(六) 選擇合適的儲存引擎
mysql可用的儲存引擎有很多,那怎麼選擇呢?在大多數情況下,選擇innodb引擎就對了,從mysql5.5版本開始將innodb引擎作為預設儲存引擎了 官方指明了方向 如果應用需要不同的儲存引擎,請先考慮以下幾個因素 1 事務 如果需要事務,innodb 或者xtradb 是目前最穩定並且經過驗證...
mysql 多少列合適 MySQL 請選擇合適的列
字串型別 1 varchar 1 儲存可變長字串。理解 比固定長度占用更少的儲存空間,因為它只占用自己需要的空間。例外情況 使用row format fixed建立的myisam表,它為每行使用固定長度的空間,可能會造成浪費。2 儲存長度資訊。如果定義的列小於或等於255,則使用1個位元組儲存長度值...