MYSQL-建表语句相关

MYSQL-建表语句相关

1. CHARACTER SET = utf8mb4

CHARACTER SET = utf8mb4
字符集(Character Set):utf8mb4 是一种字符编码,支持存储 Unicode 字符。

utf8mb4 的特点:

它是 utf8 的扩展版本,支持更多的字符,包括 4 字节的字符(如表情符号 Emoji 和一些特殊符号)。

与 utf8 相比,utf8mb4 更全面,推荐在现代应用中使用。

适用场景:

需要存储多语言内容(如中文、日文、阿拉伯文等)。

需要存储表情符号(Emoji)或其他特殊符号

2. COLLATE = utf8mb4_general_ci

排序规则(Collation):utf8mb4_general_ci 是 utf8mb4 字符集的一种排序规则,用于定义字符的比较和排序方式。

utf8mb4_general_ci 的特点:

ci 表示 Case Insensitive(不区分大小写),即在对字符进行比较或排序时,忽略大小写差异(例如,A 和 a 被视为相同)。

general 表示一种通用的排序规则,适用于大多数语言,但可能对某些特殊字符的排序不够精确。

适用场景:

需要不区分大小写的比较(如用户名、邮箱等)。

不需要对特定语言进行精确排序(如德语、法语等)

3.ROW_FORMAT = Dynamic

ROW_FORMAT 是 MySQL 和 MariaDB 中用于指定表的行存储格式的参数。

不同的行格式会影响表的存储方式、性能以及对某些功能的支持(如压缩、大字段存储等)。
动态行格式:

Dynamic 格式下,MySQL 会将较长的可变长度字段(如 VARCHAR、TEXT、BLOB 等)存储在单独的溢出页中,而不是直接存储在行数据中。

行数据中只存储指向这些溢出页的指针。

优点:

适合存储大量可变长度数据(如大文本或二进制数据)。

支持更大的行大小(默认情况下,MySQL 单行最大限制为 8KB,但 Dynamic 格式可以通过溢出页存储更多数据)。

支持索引前缀(可以为 TEXT 或 VARCHAR 列创建前缀索引)。

缺点:

对于频繁更新的表,可能会导致碎片化,因为溢出页的管理需要额外的开销。

posted @   skystrivegao  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 2025成都.NET开发者Connect圆满结束
· 后端思维之高并发处理方案
· 千万级大表的优化技巧
· 在 VS Code 中,一键安装 MCP Server!
· 10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析
点击右上角即可分享
微信分享提示