【发布时间】:2016-04-03 03:59:43
【问题描述】:
我是 MySQL 新手。我对数据类型的内存分配有点困惑。如果我将类型初始化为 bigint,它将占用 8 个字节的内存。如果我初始化 bigint(10) 那么它会占用 80 个字节还是相同的 8 个字节但有限制。在数据类型上初始化 10 有什么用?而且我也对 varchar 有点困惑。 varchar(10) 和 varchar(100) 的内存大小是多少?它的内存大小会有所不同吗?我正在使用 InnoDB 引擎。
【问题讨论】:
-
@Ryan 你的意思是 bigint(10) 和 bigint(100) 分配相同大小的内存。没有区别,不是吗?
-
正确:
bigint将始终在数据库中使用 8 个字节。(10)表示显示时的默认宽度为 10 个字符。我之前提供的链接解释了如何计算不同数据类型将占用多少空间。
标签: mysql sql memory sqldatatypes