我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > MySQL星空(中国) > 关于mysql 数据和内存的关系。
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

关于mysql 数据和内存的关系。

35浏览 / 0回复

opiio

opiio

0
精华
134
帖子

等  级:Lv.5
经  验:3994
  • Z金豆: 0

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:
  • 注  册:2008-03-18
  • 登  录:2009-06-29
发表于 2009-05-18 16:54:00
电梯直达 确定
楼主
1.  数据文件载入内存,占用内存长度是表字段长度总和,还是实际数据长度总和
2.  表中定义了N长的一个字段,但是没有数据,为以后备用,这样的字段会占用内存吗

关于以上2个问题,在数据类型不同是否也会跟着变化呢?

请注意 以上说的是内存,不是磁盘空间。
这几天看了看源码,还没太明白。
抛砖引玉 总结2点。

InnoDB:

1. update 的时候 拷贝实际数据到buffer ,但是拷贝完,会移动buffer指针,移动长度为字段定义的长度(key->length)
2. select 的时候,拷贝数据是按照字段的定义的长度,而不是数据长度,但是 text 始终占用了1个长度。
3. 对于空字段没数据的,如果位置在表中间会占用buffer,若是在最后则不会占用buffer。

对于以上3个验证,修改源码(),将内容发送到 syslog 观察所得。
第一个修改的是ha_innodb.cc,2和3修改的是    row0sel.cc


高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表