当前位置: 首页 > news >正文

【Java】MySQL存储 MD5 值应该用 VARCHAR 还是CHAR?

CHAR 非常适合存储 MD5 值。因为MD5 值是一个定长的值,对于固定长度的非常短的列,CHAR比VARCHAR的效率更高。


CHAR和VARCHAR的区别:

1)存储长度不同,CHAR 的长度是固定的,VARCHAR 的长度是可变的
假设,当我们定义 CHAR(10)时,输入的值是“abc”,它占用的空间是 10 字节,包含 7个空字节。当输入的字符长度超过指定的数时,CHAR 会截取超出的字符。而且,当存储为 CHAR时,MySQL 会自动删除输入字符串末尾的空格。所以,CHAR 非常适合存储很短的、固定长度的字符串。VARCHAR 用于存储可变长度且非 Unicode 的字符数据,但可变长度必须在 1~8000之间,比如 VARCHAR(10),然后输入 abc 三个字符,那么实际存储大小为 3 字节。除此之外,VARCHAR 还会保留1个或2个额外的字节来记录字符串的实际长度。如果定义的最大长度小于或等于 255 字节,那么就会预留1字节;如果定义的最大长度大于 255 字节那么就会预留2字节。

2)存储效率不同,CHAR 每次修改后的数据长度不变,效率更高。而 VARCHAR 每次修改数据后要更新数据长度,效率更低。

3)存储空间不同CHAR 存储空间是初始的预计长度字符串再加上一个记录字符串长度的字节,可能会存在多余的空间,而 VARCHAR 存储空间是实际字符串再加上一个记录字符串长度的字节,占用空间较小。

http://www.lryc.cn/news/258974.html

相关文章:

  • pytorch中五种常用随机矩阵构造方法:rand、randn、randn_like、randint、randperm
  • 2023第二届全国大学生数据分析大赛A完整原创论文(含摘要+问题分析+模型建立与求解+python代码)
  • Qt 面试指南
  • 开利网络的数字化技术加持下,加快扶贫和乡村振兴的效果和进程!
  • PR剪辑视频做自媒体添加字幕快速方式(简单好用的pr视频字幕模板)
  • 金融行业文件摆渡,如何兼顾安全和效率?
  • [足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-1开环系统与闭环系统Open/Closed Loop System
  • 每日一题,杨辉三角
  • Java_Mybatis_缓存
  • C#基础面试题集
  • 可视化监管云平台EasyCVR宠物粮食食品厂智能视频监控方案
  • ArkUI组件
  • C语言--动态内存【详细解释】
  • 施工现场安全管理系统
  • 电线电缆行业生产管理MES系统解决方案
  • 滑动窗口最大值和前K个高频元素
  • C语言实现在顺序表中找到最大值
  • 数字工厂管理系统建设层级分为哪几层
  • MySQL 8 update语句更新数据表里边的数据
  • 可视化监控云平台/智能监控平台EasyCVR国标设备开启音频没有声音是什么原因?
  • L1-039:古风排版
  • 树莓派新手装机指南
  • flink使用事件时间时警惕kafka不同分区的事件时间倾斜问题
  • 『App自动化测试之Appium基础篇』| Desired Capabilities详解与使用
  • vscode插件webview和插件通信
  • 【STM32单片机】贪吃蛇游戏设计
  • 【Java 基础】32 定时调度
  • C++ 教程 - 02 复合数据类型
  • 【数据处理】NumPy数组的合并操作,如何将numpy数组进行合并?
  • JavaScript实现飘窗功能