InnoDB MySQL 5.5 中的 TEXT 与 VARCHAR。何时使用每一项

2024-03-26

MySQL 5.5 的 InnoDB 存储引擎中 text 和 varchar 的主要区别是什么?

如果我们谈论不超过 5000 个字符的变量文本字段,是否使用 text 或 varchar(5000)?


根据论坛帖子innodb.com

从 InnoDB 的角度来看,varchar、text 和 blob 在磁盘上的布局方式完全相同。如果您对内部细节感兴趣,InnoDB 将 varchar 和 text 值传递回 MySQL 的方式有所不同。在 varchar 的情况下,值被传回行缓冲区内,而在文本的情况下,行缓冲区包含一个指向包含实际值的内存块的指针。但这更像是 MySQL 存储引擎接口的细节,应该与最终用户无关。

另请检查this https://web.archive.org/web/20151208075153/http://www.pythian.com:80/blog/text-vs-varchar/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

InnoDB MySQL 5.5 中的 TEXT 与 VARCHAR。何时使用每一项 的相关文章

  • 使用 php 执行 *.sql 文件

    我需要执行一个 sql 文件 其中大约有 48 个要创建的表 它由注释和以 结尾的sql命令组成 有没有办法运行这些 sql 命令 将它们立即转换为单个字符串 我的意思是我需要使用 php 立即运行整个文件 我可以使用 mysql quer
  • 如何使用 SQLAlchemy 进行“mysql 解释”

    我有一个像这样的sql DBSession query Model filter 我想用这个 sql 来解释SQLAlchemy 你想要将 SQLAlchemy 查询编译为字符串 https docs sqlalchemy org faq
  • 无法打开 mysql-workbench

    我开始使用 mysql 但无法打开 mysql workbench 当我尝试通过 ubuntu 命令行打开它时 出现以下错误 usr lib mysql workbench mysql workbench bin 符号查找错误 usr li
  • 表“DBNAME.hibernate_sequence”不存在

    我有一个使用 spring data jpa 的 Spring Boot 2 0 1 RELEASE 应用程序
  • mysql非空字段计数

    我想计算 mysql 中特定字段集有多少字段为空 我找到了一些示例 但它们都遍历整个表 基本上我有8个字段 listing photo 1 到listing photo 8 我想知道其中有多少个被填充 I tried result mysq
  • TypeScript:使用调用签名和构造函数签名实现接口

    是否可以创建一个实现以下接口的对象 interface I string new any 我看到可以实现一个具有调用签名和这个问题的一些字段的接口 使用裸函数签名和其他字段实现 TypeScript 接口 https stackoverfl
  • mysql_insert_id 带更新

    执行下面的查询后 我使用 PHP 函数mysql insert id 它总是给我0 UPDATE tbl training types SET fld serial serial no fld name training name fld
  • 识别输入的数据类型

    我正在尝试打印用户输入的数据类型并生成如下表 ABCDEFGH String 1 09 float 0 int true bool etc 我正在使用 Python 3 2 3 并且我知道我可以使用type 获取数据的类型 但在Python
  • “冲突可序列化”和“冲突等效”有什么区别?

    在数据库理论中 冲突可序列化 和 冲突等效 有什么区别 我的教科书有一个关于可序列化冲突的部分 但掩盖了冲突等价性 这些可能都是我熟悉的概念 但我不熟悉术语 所以我正在寻找解释 DBMS 中的冲突可以定义为两个或多个不同的事务访问同一变量
  • “key”是MySqli中的保留字吗?我收到错误

    我刚刚真正接触 MySql MySqli 并且正在使用准备好的语句 除了这一行之外 我的整个脚本运行良好 if stmt con gt prepare SELECT bandHash userHash userPassHash type F
  • mysql 扩展已弃用,并将在将来删除:使用 mysqli 或 PDO 代替 [重复]

    这个问题在这里已经有答案了 当我尝试从 PHP 连接到 MySQL 服务器时 我看到以下错误 已弃用 mysql 扩展已弃用 将来将被删除 在第 123 行的 path to filename php 中使用 mysqli 或 PDO 代替
  • 使用带有 ORDER 子句的 AES_DECRYPT 在 MySQL 中返回 BLOB 数据

    我正在创建一个系统 用户可以在其中通过 PHP 和 MySQL 数据库存储消息 并且我使用 MySQL AES ENCRYPT 函数来加密这些消息的内容 这是我的posts table CREATE TABLE IF NOT EXISTS
  • MySQL:查询之间的最佳索引

    我有一个具有以下结构的表 CREATE TABLE geo ip id bigint 20 NOT NULL AUTO INCREMENT start ip int 10 unsigned NOT NULL end ip int 10 un
  • Maven 依赖类型 ejb 与 jar

    有什么区别
  • php PDO 可以获取两个结果集吗?如果是,1 个结果集和 1 个以上结果集哪个更好?

    如果可能的话 如何获取两个结果集 sth dbh gt prepare SELECT FROM tb1 WHERE cond1 SELECT from tb2 Where cond2 sth gt execute row sth gt fe
  • 小写表名错误

    我正在尝试设置lower case table name价值2 因为它是 Windows 服务器 但是当我启动 MySQL Workbench 并连接到我的服务器时 出现以下错误 服务器所在的系统不能正确支持所选的lower case ta
  • 从文件执行db语句

    我在我的应用程序中使用嵌入式 Apache derby 我有一个名为的 SQL 脚本创建的数据库 sql创建数据库中的所有表并用初始数据填充它 例如 SET SCHEMA APP CREATE TABLE study study id bi
  • 如何计算 MySQL 中日期的平均值?

    如何在 MySQL 中计算日期之间的平均值 我对时间值 小时和分钟更感兴趣 在桌子上有 date one datetime date two datetime 执行如下查询 SELECT AVG date one date two FROM
  • Codeigniter - 仅当数据库中不存在电子邮件时才更新电子邮件

    我为我的用户提供了一个更新页面 他们可以在其中编辑他们的姓名 电子邮件和其他信息 到目前为止 他们可以编辑一切 包括他们的电子邮件 他们可以毫无问题地输入数据库中已存在的电子邮件 我尝试添加此表单验证规则 this gt form vali
  • Docker 应用程序更新后无法连接到数据库

    在我的公司 我有一个旧的 Symfony 应用程序在 Docker 容器中运行 该应用程序连接到一个 SQL 数据库 该数据库也在 Docker 容器内运行 该图像是使用 php 7 2 apache stretch 构建的 但该版本已不再

随机推荐

  • Typescript 抽象属性

    几天前我开始学习打字稿 我知道所有主要的 OOP 概念 但我只是不理解抽象属性背后的概念 我知道您必须在子类中重写 实现基类的抽象成员 但是 它有什么用呢 我了解抽象方法背后的概念 但不是这个 如果您能为我提供一些很好的例子 我将非常感激
  • Scala 逐行调度流响应

    我正在尝试使用 Scala 调度 但既是 Scala 新手 又面对 Dispatch api 符号疯狂的问题 我对如何流式传输大型 http 响应并逐行处理它感到困惑 任何帮助 将不胜感激 干杯 克里斯 Note 这对我不起作用 Http
  • 散点图对数刻度

    在我的代码中 我取两个数据系列的对数并绘制它们 我想通过将 x 轴的每个刻度值提高到 e 次方 自然对数的反对数 来更改它 换句话说 我想绘制两个系列的对数 但 x 轴为水平 这是我正在使用的代码 from pylab import sca
  • 取决于特定项目的公共单元中的条件编译?

    在Delphi XE2中 我有一个单元MyUnit pas由两个不同的项目使用ProjectA and ProjectB MyUnit包含一个声明DoSomething 这是在其他单位实施的程序其他单位 pas 现在我想用条件编译包括DoS
  • vb6中动态两级或多级子菜单生成

    朋友们 告诉我怎么做生成1级以上的子菜单在VB6中运行时 简单解释一下 有什么具体的控制措施吗 但我不想使用外部控件 您可以使用API 函数创建多级子菜单 Private Declare Function CreatePopupMenu L
  • 将 jQuery 插件转换为 TypeScript

    好的 首先这是我非常基本的 jQuery 插件 function fn greenify function options var settings extend These are the defaults color 556b2f ba
  • Selenium WebDriver 测试失败并出现 System.Net.WebException 无法连接

    我正在开发一套 Selenium WebDriver 不是 Selenium RC 也不使用 Selenium Server 测试 这些测试是通过命令行调用 MSTest 来执行的 我已将它们分解为我们计划测试的每个浏览器 目前是 Chro
  • Docker-Compose、NGINX 和热重载配置

    我有一个通过 docker compose 运行的功能全栈应用程序 奇迹般有效 唯一的问题是团队必须重建整个应用程序以反映更改 这意味着把整个事情搞砸docker compose down 我正在寻求帮助来更新下面的文件以允许热重载 OR
  • 是否可以将多个参数传递给 Ember Power Select 中的 onChange 操作?

    我目前正在使用优秀的ember 电源 选择 https ember power select com作为一部分添加ember bootstrap 形式 https www ember bootstrap com api classes Co
  • 将另一个 data.frame 中的一行添加到 qplot

    是否可以在现有绘图中添加一条线 例如附加时间序列 我知道如何添加水平或垂直线 但如何从其他 data frames 添加 q myplot lt qplot datefield myvalue data mydf geom c line c
  • 如何在 Qt 中将 foreach 与 QDomNodeList 一起使用?

    我是 Qt 新手 每天都在学习新东西 目前 我正在利用空闲时间为我的诺基亚 N900 开发一个小型应用程序 一切都很好 我可以在设备上编译和运行 Maemo 应用程序 我刚刚了解到foreachQt 中的关键字 我知道它不在 C 中 所以我
  • cakephp 验证和正则表达式

    我正在 cakephp1 3 工作 我必须使用 model i 中的 cakephp 验证来验证我的表单 我添加了一个正则表达式来限制特殊字符输入 我的代码写如下 var validate array name gt array uniqu
  • Android 模拟器出现蓝屏死机

    无论我从 Android SDK 和 AVD Manager 创建哪种类型的 Android 虚拟设备 每当我启动它时 我的整个笔记本电脑都会在出现蓝屏死机后关闭 我在事件系统日志中看到此错误 驱动程序 VPCAppSv sys 已被阻止加
  • 如何增加 jQuery 变量?

    我正在尝试使用 jquery 浏览图片库 因此我有一个按钮 该按钮应该将变量加 1 然后使用它来加载下一张图片 使用最上面的答案this https stackoverflow com questions 11338499 incremen
  • 学说、命名空间和自动加载实体

    我想在我的项目中使用 Doctrine 2 我有一些问题 我阅读了文档 但可能我做错了什么 我想自动加载实体类 并且文档中的方法不起作用 我的 bootstrap php
  • Java继承与抽象方法

    我有很多 形式 类 所有这些都扩展了Form 我有一个名为的抽象类FormService以及扩展此类的特定表单服务 我想做的是有一个名为的抽象方法populate 它采用一种类型形式 从而通过继承为给定类型调用正确的服务 所以我有类似的东西
  • 从文档和 jekyll 源文件夹配置提供服务的 GitHub 页面

    标准 F 遵循 ProjectScaffold 的文档具有以下结构 project docs content files output tools 生成的文档保存到output 然后被推送到gh pages branch 最近 GitHub
  • 使用 PerformanceCounters 来定位特定驱动器

    伙计们 我有以下代码 using System Diagnostics private PerformanceCounter diskRead new PerformanceCounter private PerformanceCounte
  • 具有 NA 值的数据框两列的总和

    我有一个包含一些 NA 值的数据框 我需要两列的总和 如果一个值为 NA 我需要将其视为零 a b c d 1 2 3 4 5 NA 7 8 e 列应该是 b 和 c 的总和 e 5 7 我尝试了很多事情 并进行了两打搜索 但没有运气 这似
  • InnoDB MySQL 5.5 中的 TEXT 与 VARCHAR。何时使用每一项

    MySQL 5 5 的 InnoDB 存储引擎中 text 和 varchar 的主要区别是什么 如果我们谈论不超过 5000 个字符的变量文本字段 是否使用 text 或 varchar 5000 根据论坛帖子innodb com 从 I