gpt4 book ai didi

sql - mysql 中的 varchar(100) 声明使用了多少实际存储空间?

转载 作者:IT老高 更新时间:2023-10-28 23:48:40 26 4
gpt4 key购买 nike

如果我有一个表,其中的一个字段被声明为接受 varchar(100),然后我实际上插入了“hello”这个词,mysql 服务器将使用多少实际存储空间?即使声明了 varchar(100),插入 NULL 也会导致没有存储空间被使用吗?

无论答案是什么,它在不同的数据库实现中是否一致?

最佳答案

If I have a table with a field which is declared as accepting varchar(100) and then I actually insert the word "hello" how much real storage will be used on the mysql server?

Mysql 会存储 5 个字节加上 1 个字节作为长度。如果 varchar 大于 255,那么它将存储 2 个字节作为长度。

请注意,这取决于列的字符集。如果字符集是 utf8,mysql 将要求每个字符最多 3 个字节。一些存储引擎(即内存)总是需要字符集的每个字符的最大字节长度。

Also will an insert of NULL result in no storage being used even though varchar(100) is declared?

使列可为空意味着 mysql 必须为每行最多 8 个可为空的列预留一个额外的字节。这称为“空掩码”。

What ever the answer is, is it consistent accross different database implementations?

甚至在 mysql 中的存储引擎之间也不一致!

关于sql - mysql 中的 varchar(100) 声明使用了多少实际存储空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1790514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com