gpt4 book ai didi

mysql - 设置MySQL模式时,为什么要使用某些类型?

转载 作者:行者123 更新时间:2023-11-29 06:23:36 24 4
gpt4 key购买 nike

当我设置 MySQL 表时,它要求我定义列名、输入类型和长度。我的假设是,在没有阅读任何相关内容的情况下,它是为了最小化。根据您的需要指定尽可能小的 int/smallint/tinyint ,它将减少某种开销。如果都是积极的,请将其设为无符号以使空间加倍,等等。

如果我将每个字段设置为 varchar-200 个字符,会发生什么情况?什么时候/为什么会出现这种情况?我会错过什么,什么时候会出现效率低下的情况? 10 万条记录?

我每次设置数据库时都会考虑这一点,但我还没有构建任何可以扩展的东西,因为我曾经有过不恰当的方案设置,要么太“严格/小”,要么“松散/大”。有人可以确认我对速度和效率做出了正确的假设吗?

谢谢!

最佳答案

数据类型不仅优化存储,还优化数据索引方式。随着数据库变得越来越大,您会发现搜索整数字段中包含 1 的所有记录比搜索 varchar 字段中包含“1”的记录更快。当您连接多个表中的数据并且数据库引擎必须重复执行此类操作时,这一点变得尤其重要。 (达伦还在下面正确地指出,您匹配的字段类型也必须相同,这一点很重要。)

这些低效率问题的严重程度很大程度上取决于您的硬件和应用程序设计。如今,我们拥有足够大的铁,如果您正在构建中等规模的应用程序,您可能不会看到明显的差异。 (除了对你的数据库设计感到有点内疚之外!)但是在小项目上建立良好的习惯会让更大的项目变得更容易。

关于mysql - 设置MySQL模式时,为什么要使用某些类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579939/

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