亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 3985 | 回復: 13
打印 上一主題 下一主題

一個字段內(nèi)存最大是5K 該用什么類型? [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-03-21 16:18 |只看該作者 |倒序瀏覽
請教一個問題:
有個字段 最大是5K
不過大部分可能都是不到1K的
我該怎么設置這個的數(shù)據(jù)類型呢?能最好的節(jié)省容量

論壇徽章:
0
2 [報告]
發(fā)表于 2012-03-21 16:29 |只看該作者
用varchar ,varchar最大長度可以到65535字節(jié)

論壇徽章:
0
3 [報告]
發(fā)表于 2012-03-21 16:44 |只看該作者
回復 2# starzhestarzhe


    varchar 可以是65535bytes或者255 characters

論壇徽章:
0
4 [報告]
發(fā)表于 2012-03-21 16:45 |只看該作者
回復 2# starzhestarzhe


    這里的bytes和character分別是什么?

論壇徽章:
0
5 [報告]
發(fā)表于 2012-03-21 16:54 |只看該作者
varchar最多是255字節(jié) 不能放下5K的
所以不行哈

論壇徽章:
0
6 [報告]
發(fā)表于 2012-03-21 17:24 |只看該作者
回復 5# eclipse_2
這個肯定能滿足。你的需求是5K=5000
你就把字段定義為varchar(5000),就可以了,這里5000就是你所說的characters(字符數(shù))
所有最多可以存5000*3(字節(jié)) -2這么多個bytes(字節(jié)數(shù),也就是前面你所說二者區(qū)別


測試看看:
mysql> show create table t_varchar\G
*************************** 1. row ***************************
       Table: t_varchar
Create Table: CREATE TABLE `t_varchar` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `connent` varchar(5000) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=gbk
1 row in set (0.00 sec)

插入5000個a, 沒有warning,說明插入成功,沒有截取。

mysql> insert into t_varchar values (null, repeat('a',5000));
Query OK, 1 row affected (0.04 sec)

插入5100個a, 可以看到有warning, 因為此時只有5000個characters(字符數(shù)),雖然此時的字節(jié)長度限制為5000*3(字節(jié)) -2,受到了字符長度限
mysql> insert into t_varchar values (null, repeat('a',5100));
Query OK, 1 row affected, 1 warning (0.05 sec)

mysql> show warnings;
+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1265 | Data truncated for column 'connent' at row 1 |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)

那我們再再看看,用漢字呢,因為字符集為gbk,每個漢字占兩個字節(jié),也就說下面"卓”,字符長度為1, 字節(jié)長度為2.
mysql> insert into t_varchar values (null, repeat('卓',5000));
Query OK, 1 row affected (0.04 sec)

查看一下,三個插入記錄的字節(jié)長度(bytes)
mysql> select id, length(connent) from t_varchar;
+----+-----------------+
| id | length(connent) |
+----+-----------------+
|  6 |            5000 |
|  7 |            5000 |
|  8 |           10000 |
+----+-----------------+
3 rows in set (0.00 sec)

再看看字符長度,都是5000
mysql> select id, char_length(connent) from t_varchar;
+----+----------------------+
| id | char_length(connent) |
+----+----------------------+
|  6 |                 5000 |
|  7 |                 5000 |
|  8 |                 5000 |
+----+----------------------+
3 rows in set (0.00 sec)

mysql>




   

論壇徽章:
93
2015年辭舊歲徽章
日期:2019-10-10 10:51:15CU大;照
日期:2014-02-21 14:21:56CU十二周年紀念徽章
日期:2020-10-15 16:55:55CU大;照
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大;照
日期:2019-10-10 10:55:38季節(jié)之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季節(jié)之章:冬
日期:2019-10-10 10:57:17CU大;照
日期:2014-02-21 14:22:52CU大;照
日期:2014-03-13 10:40:30CU大;照
日期:2014-02-21 14:23:15
7 [報告]
發(fā)表于 2012-03-22 09:54 |只看該作者
為哈不用 text blob 等類型。

論壇徽章:
0
8 [報告]
發(fā)表于 2012-03-22 10:12 |只看該作者
回復 7# seesea2517


    這種類型的字段太大了
當表龐大的時候 就很浪費空間
我現(xiàn)在是用二級索引來做的 這樣可能比較好解決性能和空間的問題

論壇徽章:
93
2015年辭舊歲徽章
日期:2019-10-10 10:51:15CU大;照
日期:2014-02-21 14:21:56CU十二周年紀念徽章
日期:2020-10-15 16:55:55CU大;照
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大;照
日期:2019-10-10 10:55:38季節(jié)之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季節(jié)之章:冬
日期:2019-10-10 10:57:17CU大;照
日期:2014-02-21 14:22:52CU大;照
日期:2014-03-13 10:40:30CU大;照
日期:2014-02-21 14:23:15
9 [報告]
發(fā)表于 2012-03-22 10:23 |只看該作者
回復 8# eclipse_2

如下摘自官網(wǎng)手冊,重要字眼已標紅。具體如何使用當然還是使用者自己決定,主要區(qū)別還是在索引方面。

    A BLOB is a binary large object that can hold a variable amount of data. The four BLOB  types are TINYBLOB, BLOB, MEDIUMBLOB, and LONGBLOB. These differ only in the maximum length of the values they can hold. The four TEXT types are TINYTEXT, TEXT, MEDIUMTEXT, and LONGTEXT. These correspond to the four BLOB types and have the same maximum lengths and storage requirements.
In most respects, you can regard a BLOB  column as a VARBINARY column that can be as large as you like. Similarly, you can regard a TEXT column as a VARCHAR column.

論壇徽章:
0
10 [報告]
發(fā)表于 2012-03-22 10:33 |只看該作者
seesea2517 發(fā)表于 2012-03-22 10:23
回復 8# eclipse_2

如下摘自官網(wǎng)手冊,重要字眼已標紅。具體如何使用當然還是使用者自己決定,主要區(qū)別 ...


這個應該是說它的搜索性能方面吧 我還要關注一下存儲空間哈
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP