首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL数据类型的用途

MySQL数据类型的用途
EN

Stack Overflow用户
提问于 2010-08-27 04:35:13
回答 3查看 422关注 0票数 2

通常,在创建新的web应用程序和配置MySQL时,某些字段需要随着应用程序的开发而更改格式。例如,我可能会更改日期字段的格式,或者更改以前只是int的字段的格式,现在需要一个字母或其他东西。所以通常我只会让每个字段都变得更加灵活,直到I完成,然后我会把数据类型改为正确的类型。

所以我的问题是,数据类型有多重要?目的是什么?速度?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-27 04:41:18

数据类型非常重要--如果没有数据类型,就无法确定列中实际存储了哪些数据。例如,VARCHAR(255)可以是任何东西-字符串、数字、日期/时间...如果您不能保证数据的一致性或任何形式的一致性,那么查找特定数据将变得极其困难。

这意味着数据类型还提供了基本的验证-不能将字母插入到具有数字或日期/时间数据类型的列中...

通过对列使用索引也可以提高数据检索的速度,但如果在比较数据之前必须将数据的数据类型更改为其他类型,则不能使用索引。

认识到数据和表示之间的区别是一件好事。就像日期字段格式化的情况一样-这就是表示,如果数据类型是DATETIME (或转换为DATETIME),就可以很容易地处理它。

票数 6
EN

Stack Overflow用户

发布于 2010-08-27 04:40:52

简而言之:速度,最佳数据存储,索引,搜索能力。

当所有内容都具有正确的数据类型时,您的数据库可以更好地利用内部工作。您还可以更好地利用特殊的数据库功能。

如果您想要检索某个月份的所有数据。例如,当使用date time数据类型时,您可以使用特殊的数据库函数仅按月分组。当使用varchar存储日期时,您将失去所有这些功能。

当索引是在INT数据类型上创建时,大多数数据库都能够更快地从表中搜索或检索数据。因此,如果将存储字段创建为varchar,性能将会下降

票数 2
EN

Stack Overflow用户

发布于 2010-08-27 05:02:50

性能是一个原因,但到目前为止还没有人讨论过运行这些类型的查询(如果所有类型都是VARCHAR,这是不可能的)

代码语言:javascript
复制
SELECT SUM(total) total FROM purchases WHERE status = 'PAID';
SELECT * FROM users WHERE DATE_ADD(last_login, INTERVAL 3 MONTH) < NOW();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3579261

复制
相关文章

相似问题

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