gpt4 book ai didi

sql - 数据库列数据类型

转载 作者:太空狗 更新时间:2023-10-30 01:57:44 27 4
gpt4 key购买 nike

我的 SQL Server 数据库有许多表,使用了各种数据类型。当前的设计具有列的标准数据类型长度,例如:NVARCHAR,例如 200、1000 或 MAX(这是我们采用的标准),具体取决于我保存的数据类型,我相应地使用数据类型。

对于 NAME 列,我认为将其设置为 200/1000 是没有意义的,忘记 MAX(我并不是说我们做到了)。那么,如果您确定某个字段不超过 75 个字符,那么将它设置为 200/1000 是否合适?它对查询性能有任何影响吗?这种方法还有哪些其他问题/好处。

哪种方式更好,使用标准数据类型长度而不考虑存储的数据,还是为列使用特定数据类型长度更好?

非常感谢这方面的任何帮助

谢谢!!!

最佳答案

一般来说,我倾向于尽可能使用较小的类型,但这并不总是可行或方便,而且每种选择肯定都需要权衡取舍。一方面,200 似乎不是一个完全不同的数量,但如果保证数据限制在 75 个字符,则较小的类型可能是更好的选择。我会分析使用较小尺寸的利弊:

优点

  • 有助于防止因用户将较大的文本放入控件而导致的错误。
  • 如果由于长文本而出现错误,还可以防止可能的恶意用户。
  • 如果使用了完整的 200 个字符,客户端应用程序必须准备好处理更长的字符串。
  • 该列的索引可能更小,这有助于提高性能。

缺点

  • 不是“面向 future ”的。有一天,名称可能会超过 75 个字符,从而强制更新数据库和前端应用程序。用户的需求随时间变化。
  • UI 必须通过不接受或显示消息或其他方式优雅地响应用户输入的较长文本。
  • 如果您想从其他系统导入数据,您可能需要处理更长的文本。
  • 打破或改变公司标准 (200/1000/MAX) 可能一点都不容易,特别是如果团队长期遵循它的话。

当然,您必须评估您的具体情况,以及是否值得进行更改。根据内存和个人经验,我必须平衡所有这些事情。

关于sql - 数据库列数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25924410/

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