mysql varchar类型的疑问

我的疑问是varchar类型为什么不向char类型那样如果存的字符串小于最大长度会用空格填充?

假如我有一个字段是varchar(100)类型的,最开始存入的是‘abc’,后来更新成为‘abfjdhfadsfsdoihfsofhadhohfodsh’,一个很长的字符串,是不是有可能导致数据更新后这条数据行溢出当前的数据页?


mysql
java
2023-12-01 13:02:14
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
平头比目鱼

字段数据量太大时,确实有可能出现溢出数据页情况,通常数据库引擎会用独立块来存储,除了空间浪费,效率也会降低不少

char 预先分配固定空间的方式,如果预到大量不定长的数据时,在一定程度上也是一种资源浪费。而大量不定长数据在varcahr 下得到了压缩,存储空间远小于char 时,io 性能优势就突显出来了


分享
微博
QQ
微信
回复
2023-12-01 15:00:17
相关问题
insert中文到 mysqlvarchar失败
1020浏览 • 1回复 待解决
varchar类型怎么补有知道吗?
1651浏览 • 1回复 待解决
mysql读写分离一点疑问有懂吗?
1537浏览 • 1回复 待解决
mysql数据类型使用int类型和string类型
1300浏览 • 1回复 待解决
关于Wearable开发几个疑问
6426浏览 • 2回复 待解决
关于鸿蒙应用开发疑问?
4357浏览 • 1回复 待解决
关于DependentLayout布局一点疑问
4593浏览 • 1回复 待解决
关于鸿蒙camera外设驱动编写疑问
3007浏览 • 1回复 待解决
请教一下关于Ticktimer 疑问
2133浏览 • 1回复 待解决
鸿蒙版应用上架后疑问
4534浏览 • 1回复 待解决
关于智能穿戴应用开发几个疑问
9295浏览 • 2回复 待解决
OpenHarmony camera sensor调试疑问
768浏览 • 0回复 待解决
Lite Wearable 开发过程中疑问
9475浏览 • 2回复 待解决
搭建ohpm私仓服务疑问
253浏览 • 1回复 待解决
ssd1306 oled屏显示ascii字符和汉字疑问
10833浏览 • 1回复 待解决