关于表存储空间的讨论

聪明的一休 2011-10-17 05:37:10
加精
我测试了一下innodb的存储


CREATE TABLE IF NOT EXISTS test.tb_varchar (
user_varchar varchar(20) NOT NULL )
ENGINE = InnoDB
DEFAULT CHARACTER SET = gb2312
COLLATE = gb2312_chinese_ci


然后批量插入了1W条记录,值都相同
INSERT INTO tb_varchar(user_varchar) VALUES ('1111111111');

然后查看information_schema.tables对应avg_rowlength:40 data_length:409600

这个单位应该是字节吧,为什么一行记录就用掉了40个字节?

...全文
1083 58 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
58 条回复
切换为时间正序
请发表友善的回复…
发表回复
poly3 2011-10-26
  • 打赏
  • 举报
回复
表空间对应一个文件吧
weisuojun 2011-10-25
  • 打赏
  • 举报
回复
谢谢分享,学习了!!!
零度空间0520 2011-10-25
  • 打赏
  • 举报
回复
xuexi laide
lifelongemail 2011-10-25
  • 打赏
  • 举报
回复
过路看
wujiaoli 2011-10-24
  • 打赏
  • 举报
回复
路过的,学习学习
caoyang4807742 2011-10-23
  • 打赏
  • 举报
回复
要积分 就要来说话
caoyang4807742 2011-10-23
  • 打赏
  • 举报
回复
顶下,都是好人啊!
yt_cloud 2011-10-23
  • 打赏
  • 举报
回复
路过学习,帮忙顶贴
se365363 2011-10-22
  • 打赏
  • 举报
回复
过路看看
zhuolovejuan 2011-10-21
  • 打赏
  • 举报
回复
这个学习了
nettman 2011-10-20
  • 打赏
  • 举报
回复
感谢分享,学习!
jiahehao 2011-10-20
  • 打赏
  • 举报
回复
精神可嘉。。。。
lmc158 2011-10-20
  • 打赏
  • 举报
回复
CREATE TABLE IF NOT EXISTS test.tb_varchar (
user_varchar varchar(20) NOT NULL )
ENGINE = InnoDB
DEFAULT CHARACTER SET = gb2312
COLLATE = gb2312_chinese_ci



eric6541 2011-10-20
  • 打赏
  • 举报
回复
不懂,学习一下
聪明的一休 2011-10-20
  • 打赏
  • 举报
回复
主要是想尝试几个数据量较大的字段的表结构设计,想预估一下表空间的大小上是否会存在风险
但目前看来按字段类型来预估每行字节数是比较困难的了。
现在只能按实际情况建表,模拟大量数据来得出结论了。
zrr_123456 2011-10-20
  • 打赏
  • 举报
回复
感谢分享,学习!
zrr_123456 2011-10-19
  • 打赏
  • 举报
回复
学习学习
Mr_Bean 2011-10-19
  • 打赏
  • 举报
回复
评论:喜欢这么刨根问题
聪明的一休 2011-10-19
  • 打赏
  • 举报
回复
说老实话,看了后还是不能解释为什么两个字段和四个字段每行占用的字节数是一样的。

[Quote=引用 10 楼 jinguanding 的回复:]

给你一个PPT,关于InnoDB引擎的内部架构的,一看就会明白了,数据不存只是字段和索引值所占的空间,还有各种指针,PPT链接地址:http://www.mysqlops.com/2011/08/27/innodb-internal.html


#*********************#
技术网站:www.mysqlops.com
新浪微博:http://weibo.com/my……
[/Quote]
无天 2011-10-19
  • 打赏
  • 举报
回复
mark,学习了。
加载更多回复(25)

56,940

社区成员

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

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