sql中姓名用什么数据类型

数据库中text和varchar有什么却别

说实话,刚接触数据库的时候,我分不清text和varchar。
直到我改变了前雇主电子商务系统中的评论功能,我才意识到两者之间的区别有多么重要。

文本类型已经很大。
我记得旧系统是用文本来存储用户上传的文档的。
结果,数据库急剧扩大。
我不得不等待很长时间才能查看长评论。
SQL执行计划说的是“全表扫描”。
那时它已经变绿了。
当时,服务器仍然按 GB 计费,脚本占用的空间就像所有热箱填满了整个存储库,而 varchar 就像你装满现金的钱包 - 刚刚好。

varchar 的 8 000 字节限制实际上非常聪明。
想一想,varchar(5 0)足以存储用户名,varchar(2 5 5 )足以存储地址。
我之前做了一个旅行申请,将用户资料保存为文本。
结果有人发了一篇五万字的长文,导致该应用被锁了三天。
至少 Varchar 可以告诉你“这个人发布的内容太多了”。

但是varchar并不是万能的。
下面是一个使用 varchar 存储 GPS 路线坐标的物流系统示例。
每个查询都必须将字符串分解为数值,并且性能非常糟糕。
GIS 覆盖率 8 0%。
就像在牙签上插一根针,换绳子的效率完全不一样。

最有趣的是,有些数据库对文本进行了优化。
例如,MySQL 具有最大大小为 2 5 5 字节的小文本。
它比 varchar 更短,但存储小文本的速度更快。
我正在改造一个社区论坛,将用户签名改为小文本,这实际上节省了三分之一的存储空间,并加快了全文检索过程。

Now choose the type.我有一个简单的方法:如果内容长度超过1 00字,优先考虑正文。
例如,博客文章和客户服务聊天日志。
对于简短内容,例如订单号和状态,请使用 varchar。
限制长度也可以避免恶意输入。
客户使用 varchar(5 00) 来支持产品描述。
结果有人写了一篇小论文,系统崩溃了三天。
教训很深刻
数据类型类似于选择衣服。
Text 是宽松的 T 恤,varchar 是合身的 T 恤。
You can't wear正式场合穿T恤,或者徒步旅行穿T恤。
关键要看场合。

数据库字段类型

数值类型分为整数和小数。

整数存储整数,例如年龄和数量。
小数以小数形式存储,如价格和重量。

字符类型分为定长和变长。

固定长度字符用于存储姓名和地址。
长度是固定的,空间是预先分配的。

可变长度字符节省空间。
根据当前字符串长度保存。

日期时间类型分为日期、时间和日期时间。

日期存储为生日和就业日期。
节省了出行时间。
日期和时间存储事件的确切时刻。

二进制数据类型存储图片和音频。

图片存储在MySQL BLOB中,大小从几MB到几GB。

布尔类型存储键 true 和 false。

枚举类型保留性别,只能是男性或女性。

集合类型存储用户标签,例如标签1 、标签2
选择类型时要考虑效率、性能和安全性。