MySQL记录长度

MySQL中规定:任何一条记录最长不能超过 65535个字节;

这句话,就表明 varchar 永远也达不到理论值 ;

varchar 的实际存储长度能达到多少,是需要看具体的字符集的;

UTF8下面,一个汉字占用三个字节,(65535-2 ) / 3 = 21844

GBK下面,一个汉字占用二个字节,(65535-2) / 2 = 32766

Mysql 还规定,如果一条记录中有任何一个字段允许为空,那么系统则从整条记录的 65535 个字节中抽出一个字节用于保存 NULL

那我们想要保存大文本怎么办,选择用 texttext 不占用记录长度,但是怎么说也是记录的一部分,因此,其实 text 只占用记录的 10 个字节,用于保存数据的地址和长度 ;


基于上面的问题,有时候,我们创建表失败了,看思考下是不是记录长度太大了。

(七)mysql 记录长度的更多相关文章

  1. MySQL (二)-- 数据类型(列类型)、数值类型、 小数类型、 时间日期类型、 字符串类型 、 MySQL记录长度、列属性

    1 数据类型(列类型) 所谓的数据类型:对数据进行统一的分类,从系统的角度出发是为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中将数据类型分成了三大类: 2 数值类型 数值类型数据:都 ...

  2. 实验七 MySQL语言结构

    实验七 MySQL语言结构 一.  实验内容: 1. 常量的使用 2. 变量的使用 3. 运算符的使用 4. 系统函数的使用 二.  实验项目:员工管理数据库 用于企业管理的员工管理数据库,数据库名为 ...

  3. python面试题七: mysql数据库

    ---------------------------------------------------------------------------------------------------- ...

  4. MySQL(七) —— MySQL存储过程 & 存储引擎

    MySQL中输入语句的执行过程: 如果我们可以将上面的过程简化,吧语法分析或者编译等步骤简化,则可以将整个流程简化. 存储过程: 是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理: ...

  5. java_web学习(七) MySQL的配置与安装

    一:下载MySQL 1.进入oracle官网 2. 3. 4. 5. 6. 7. 网址:https://dev.mysql.com/downloads/file/?id=469273 二:配置MySQ ...

  6. mysql更新(七) MySQl创建用户和授权

    14-补充内容:MySQl创建用户和授权   权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操作 ...

  7. MYSQL基础笔记(七)- 数据类型二

    字符串类型 在SQL中,讲字符串类型分成了六类:char,varchar,text,blob,enum,set char,定长字符串 磁盘(二维表)在定义结构的时候,就已经确定了最终数据的存储长度. ...

  8. MySQL完整教程(共8章)

    正文 [第一章] 回到顶部 1.1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引, ...

  9. mysql学习之路_字段类型与属性

    回顾 数据库基本知识:关系型数据库与非关系型数据库 关系型数据库:安全(磁盘) 非关系型数据库:高效(内存) 关系型数据库:建立在关系模型上的数据库, 数据结构:二维表(浪费空间) 数据库操作指令:s ...

随机推荐

  1. 【转】Kubernetes的Ingress控制器比较

    Kubernetes的Ingress控制器比较 fiisio Kubernetes/云计算/资源调度/Go语言 21 人赞同了该文章 翻译:https://medium.com/flant-com/c ...

  2. 5.Python3列表和元组

    5.1序列 在python3中序列结构主要有列表.元组.集合.字典和字符串,对于这些序列有以下通用操作. 5.1.1 索引 序列中的每一个元素都有 一个编号,也称为索引.这个索引是从0开始递增的,即下 ...

  3. Selenium操作Chrome模拟手机浏览器

    目录 使用指定设备 使用自定义设备 在使用Chrome浏览网页时,我们可以使用Chrome开发者工具模拟手机浏览器,在使用Selenium操作Chrome时同样也可以模拟手机浏览器.主要有以下两种用途 ...

  4. Python基础之给函数增加元信息

    1. 参数注解 当写好一个函数以后,想为这个函数的参数添加一些额外的信息,这样的话,其他的使用者就可以清楚的知道这个函数应该怎么使用,这个时候可以使用函数参数注解. 函数参数注解能提示程序员应该怎样正 ...

  5. JavaBean转Map

    1.需要的jar包 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava ...

  6. kvm 学习(三)存储池

    创建kvm存储池 1.查看系统已经存储的存储池 [root@runstone ~ ::]#virsh pool-list Name State Autostart ------------------ ...

  7. Why use swap when there is more than enough RAM.

    Swappiness is a property of the Linux kernel that changes the balance between swapping out runtime m ...

  8. Mac 下反编译Android APK

    准备工作:安装ApkTool.dex2jar.JD-GUI 安装ApkTool 1.下载ApkTool.大家可以从 https://ibotpeaches.github.io/Apktool/inst ...

  9. TynSerial结构体序列(还原)

    TynSerial结构体序列(还原) 1)定义一个结构体 type TRec = record id, name: string; end; 2)结构体序列(还原) procedure TForm1. ...

  10. 011-多线程-基础-基于AbstractQueuedSynchronizer自定义同步组件

    一.概述 队列同步器AbstractQueuedSynchronizer,是用来构建锁或者其他同步组件的基础框架. 1.1.自定义独占锁同步组件 设计一个同步工具:该工具在同一时刻,只允许一个线程访问 ...