gpt4 book ai didi

sql - 数据库表模式设计 - varchar(n)。 N的合适选择

转载 作者:行者123 更新时间:2023-12-01 09:38:59 25 4
gpt4 key购买 nike

来自 C 背景,我可能对此过于敏感,并且不必要地担心这里的位和字节。

不过,我还是忍不住想数据是如何实际存储的,如果我选择一个很容易分解为 2 的幂的 N,那么数据库在打包数据等方面的效率会更高。

使用这种“逻辑”,我在表中有一个字符串字段,该字段的长度可变,最多 21 个字符。由于上面给出的原因,我很想使用 32 而不是 21 - 但是现在我认为我正在浪费磁盘空间,因为将为 11 个额外的字符分配空间,这些字符保证永远不会使用。由于我设想每天存储数万行,所以所有这些都加起来。

问题:

注意以上所有,我应该声明 varchar(21) 还是 varchar(32) 以及为什么?

[编辑]

存储的数据符合外部规范,并且长度不能超过 21 个字符。我同时使用 mySQL 和 PostgreSQL,但理想情况下,我希望答案与数据库无关,因为我尽量不被任何特定供应商束缚。

最佳答案

让数据库实现做优化。使用对应用程序有意义的最小尺寸。

性能通常受需要多少磁盘操作的影响最大,数据越小,磁盘操作越少。一些数据库会进行压缩或公共(public)前缀优化,以将使用的磁盘字节数保持在最低限度。

关于sql - 数据库表模式设计 - varchar(n)。 N的合适选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2883098/

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