MySQL下varchar最多只能存放256个字节的数据么?

bigmaze 2012-09-20 12:31:47
为神马?

可以用varchar来替代text类型么?
...全文
680 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigmaze 2012-10-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

varchar是在页内部存储的,而text是在页内部存储20个字节的地址,通过地址寻址到blob页进行访问的,这样的话肯定会多一个IO的访问,所以如果没有必要的话,避免使用text。
varchar也不是越大越好。varchar(M)M表示的是字符数,gbk是2个字节,utf8是3个字节。一行内存储的数据越少,页内包含的数据就越多,数据库可以缓存的数据就越多。
[/Quote]
blob页是什么,和内部页有什么关系?
pickup112 2012-09-21
  • 打赏
  • 举报
回复
varchar是在页内部存储的,而text是在页内部存储20个字节的地址,通过地址寻址到blob页进行访问的,这样的话肯定会多一个IO的访问,所以如果没有必要的话,避免使用text。
varchar也不是越大越好。varchar(M)M表示的是字符数,gbk是2个字节,utf8是3个字节。一行内存储的数据越少,页内包含的数据就越多,数据库可以缓存的数据就越多。
rucypli 2012-09-20
  • 打赏
  • 举报
回复
最好别用text类型
rucypli 2012-09-20
  • 打赏
  • 举报
回复
VARCHAR(M) [BINARY]

变长字符串。M 表示最大列长度。M的范围是0到65,535。(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定。最大有效长度是65,532字节)
ACMAIN_CHM 2012-09-20
  • 打赏
  • 举报
回复
MYSQL 下VARCHAR可以到 65,535 字节,但一行记录的总长度不能超过65,535
Rotel-刘志东 2012-09-20
  • 打赏
  • 举报
回复
禁用text,对性能影响很大的。varchar(n) 0-65535

56,822

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧