12
返回列表 发新帖
楼主: yutian209

[原创] varchar大小问题

[复制链接]
论坛徽章:
3
懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18蒙奇·D·路飞
日期:2017-09-21 11:23:37
11#
发表于 2013-9-17 20:31 | 只看该作者
dukope 发表于 2013-9-13 14:14
2个问题:
1,select a from tab  [a为varchar(200), 但是 a最多只有100字符,你确定此时在内存中会分配 ...

问题一,是的,mysql 手册就提到过这个问题,在查询处理是,给该字段是按照200字节来分配内存,而不是其实际大小

使用道具 举报

回复
论坛徽章:
9
蛋疼蛋
日期:2011-10-18 11:00:17ITPUB十周年纪念徽章
日期:2011-11-01 16:25:51蜘蛛蛋
日期:2011-11-09 13:48:06迷宫蛋
日期:2011-11-24 10:38:342012新春纪念徽章
日期:2012-01-04 11:56:44蜘蛛蛋
日期:2013-07-12 21:52:36凯迪拉克
日期:2013-12-12 09:53:072014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08
12#
发表于 2013-9-18 12:59 | 只看该作者
lujinke 发表于 2013-9-17 20:31
问题一,是的,mysql 手册就提到过这个问题,在查询处理是,给该字段是按照200字节来分配内存,而不是其实 ...

能否将那段话贴一下? 谢谢

使用道具 举报

回复
论坛徽章:
9
蛋疼蛋
日期:2011-10-18 11:00:17ITPUB十周年纪念徽章
日期:2011-11-01 16:25:51蜘蛛蛋
日期:2011-11-09 13:48:06迷宫蛋
日期:2011-11-24 10:38:342012新春纪念徽章
日期:2012-01-04 11:56:44蜘蛛蛋
日期:2013-07-12 21:52:36凯迪拉克
日期:2013-12-12 09:53:072014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08
13#
发表于 2013-9-18 13:41 | 只看该作者
杨奇龙 发表于 2013-9-14 00:30
抱歉,表述单位有误,你是正确的。

本身内存比较难以衡量 一个结果集占用了多少内存。关于第一点 你可 ...

关于第一点 我还是认为只会分配100个字符给字段a,  如果这时一个非常复杂的查询  比如产生filesort , temp table 等 这个是需要使用到200的。
高性能MySQL中第三章看到这么一段话:
Storing the value 'hello' requires the same amount of space in a VARCHAR(5) and a
VARCHAR(200) column. Is there any advantage to using the shorter column?
As it turns out, there is a big advantage. The larger column can use much more memory, because MySQL often allocates fixed-size chunks of memory to hold values internally. This is especially bad for sorting or operations that use in-memory temporary tables. The same thing happens with filesorts that use on-disk temporary tables.
The best strategy is to allocate only as much space as you really need.

不知到你疑惑的是不是 because MySQL often allocates fixed-size chunks of memory to hold values internally,个人感觉这个应该不是只为每个可变字段分配最大内存,这个非常没有必要,想想如果是我们来设计数据库? 我想也不会这样来设计

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表