首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL中的索引长度

问MYSQL中的索引长度
EN

Stack Overflow用户
提问于 2022-10-07 14:47:31
回答 1查看 35关注 0票数 0

我有个问题,我当时正在读MySQL博士(https://dev.mysql.com/doc/refman/8.0/en/column-indexes.html#column-indexes-spatial),我看到了这个.

所有存储引擎每个表至少支持16个索引,总索引长度至少为256个字节。

但我在寻找答案,但我没有找到解决我问题的答案,问题是,“索引长度”是什么意思?如果大小通常要大得多,为什么要找256个字节呢?

pd:英语不是我的母语

EN

回答 1

Stack Overflow用户

发布于 2022-10-07 15:39:05

在这种情况下,索引长度是指索引中包含的列(或列)的数据类型的大小。例如,一个INT是4个字节,一个BINARY(10)是10个字节,一个带有utf8mb4字符集的VARCHAR(10)高达40个字节(utf8mb4每个字符最多可以使用4个字节)。

有关每种数据类型存储的详细信息,请阅读https://dev.mysql.com/doc/refman/8.0/en/storage-requirements.html。

您可以创建多列的索引。总索引长度是该索引中每个列的大小之和。例如,两个INT列加上一个VARCHAR(10)将是4+4+ 40 =48个字节。

该文档中提到的最小256字节意味着所有存储引擎允许索引长度至少为256个字节。

InnoDB是默认的存储引擎,它允许当前版本的MySQL 8.0中的索引长度高达3072字节。例如,这将支持VARCHAR(768)上带有utf8mb4的索引。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73988956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档