返回顶部
首页 > 资讯 > 数据库 >MySQL使用TEXT/BLOB类型的知识点详解
  • 899
分享到

MySQL使用TEXT/BLOB类型的知识点详解

MySQLTEXTBLOB 2022-05-14 13:05:39 899人浏览 八月长安
摘要

一、TEXT和BLOB的区别 TEXT和BLOB家族之间仅有的不同是BLOB类型存储的是二进制数据,没有排序规则或字符集,而TEXT类型有字符集或排序规则。说白了如果要储存中文则选择TEXT。 二、默认值问题 St

一、TEXT和BLOB的区别

TEXT和BLOB家族之间仅有的不同是BLOB类型存储的是二进制数据,没有排序规则或字符集,而TEXT类型有字符集或排序规则。说白了如果要储存中文则选择TEXT。

二、默认值问题

Strict Mode下不能设置默认值,否则会报can't have a default value错:


Mysql> create table `test`.`text_blob`( 
 -> `a_text` text DEFAULT ' ' , 
 -> `b_blob` blob 
 -> );
ERROR 1101 (42000): BLOB/TEXT column 'a_text' can't have a default value

原因:https://www.jb51.net/article/181667.htm

select @@sql_mode;//查看模式

trict Mode下有以下限制:

1).不支持对not null字段插入null值

2).不支持对自增长字段插入”值,可插入null值

3).不支持 text 字段有默认值

三、排序

mysql对TEXT和BLOB列进行排序与其他类型不同:只对每个列的最前max_sort_length字节而不是整个字符串排序。
默认是1024,可以通过配置文件修改。


mysql> SHOW VARIABLES LIKE 'max_sort_length';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_sort_length | 1024 |
+-----------------+-------+
1 row in set (0.00 sec)

四、创建前缀索引

通常最好设置开始的部分字符作为索引,这样可以大大节约索引空间,从而提高索引效率。


alter table table1 add key (text1(1024));

知识点扩展:

MySQL字段设计规范避免使用TEXT/BLOB数据类型

一、说明

假期有时间可以多去看看一些表的设计,发现了不少问题,老系统上过百的字段,里面含有大量的mediumtext,不到500万的数据量,开发规范中有要求表设计不要超过500万数据量。查看了表占用的磁盘空间120G,毫无疑问是大表,当初设计的时候就没有考虑过设计。一句话上线能用就行,管他呢。

二、MySQL规范

单表不要超过500万条记录,同时评估单表所占用磁盘空间不要超过50G,否则考虑优化、分表等。

禁用text字段类型,如果必须的用,也需要单独设计表。

三、禁用text字段类型原因

性能很差,排序等操作时,就不能使用内存临时表,必须使用磁盘临时表进行。

TEXT或BLOB类型只能使用前缀索引,MySQL对索引字段长度是有限制的。

四、解决办法

定好规范,严格执行(执行很难),一两个DBA面对几十上百的业务系统,几万个表,上百万的字段通过每一个表和字段人工审核是不可能完成的,最终还是要靠智能化的审核系统!

到此这篇关于MySQL使用TEXT/BLOB类型的知识点详解的文章就介绍到这了,更多相关MySQL使用TEXT/BLOB类型的几点注意内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL使用TEXT/BLOB类型的知识点详解

本文链接: https://lsjlt.com/news/9476.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL使用TEXT/BLOB类型的知识点详解
    一、TEXT和BLOB的区别 TEXT和BLOB家族之间仅有的不同是BLOB类型存储的是二进制数据,没有排序规则或字符集,而TEXT类型有字符集或排序规则。说白了如果要储存中文则选择TEXT。 二、默认值问题 St...
    99+
    2022-05-14
    MySQL TEXT BLOB
  • MySQL中blob和text数据类型详解
    目录前言1. blob 类型2. text 类型总结前言 前面文章我们介绍过一些常用数据类型的用法,比如 int、char、varchar 等。一直没详细介绍过 blob 及 tex...
    99+
    2024-04-02
  • MySQL中blob和text数据类型怎么用
    今天小编给大家分享一下MySQL中blob和text数据类型怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面...
    99+
    2024-04-02
  • MySQL 中的 BLOB 和 TEXT 数据类型有什么区别?
    BLOB代表Binary Large Objects,顾名思义,它可以用于存储二进制数据,而TEXT用于存储大量字符串。 BLOB可以用来存储二进制数据,这意味着我们还可以存储图片、视频、声音和程序。 例如,下面的图像可以存储为 BLOB,...
    99+
    2023-10-22
  • java伪泛型知识点详解
    说明 1、Java中的泛型是伪泛型。这种泛型实现方法称为类型擦除 ,基于这种方法实现的泛型称为伪泛型。 2、由于Java的泛型只在编译阶段发挥作用,因此在写代码时,起到了检查的作用,...
    99+
    2024-04-02
  • R语言基本对象类型知识点详解
    基本向量 包含单类型对象(例如整数,浮点数,复数,文本,逻辑值或者原始型数据)的向量 复合对象 包含一些列基本向量的数据结构,例如列表,配对列表,``S4对象或者环境. 这些对象的特...
    99+
    2024-04-02
  • MySQL索引知识点详解
    这篇文章主要讲解了“MySQL索引知识点详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL索引知识点详解”吧!普通索引创建索引这是最基本的索引,它...
    99+
    2024-04-02
  • ASP中数据类型的知识点详解,面试必备!
    在ASP中,数据类型是非常重要的知识点。因为在ASP中,我们需要处理很多的数据,而不同的数据类型有着不同的特点和用途。本文将详细介绍ASP中的数据类型,包括基本数据类型和引用数据类型。 一、基本数据类型 字符串类型(String) 字...
    99+
    2023-07-28
    数据类型 面试 http
  • 详解Java泛型(知识点总结)
    概念来源:Java在设计开始之前不是通用的,直到它在JDK 1.5中被引入。Java泛型是通过擦除实现的。你知道什么是擦除吗?往下看。概念:常规类和方法只能使用特定类型;基本类型或自定义类。如果要编写可应用于多种类型代码的代码,这种严格的限...
    99+
    2021-05-06
    java入门 Java 泛型
  • java基础详解之数据类型知识点总结
    目录一、基本数据类型1.1 整形1.1.1 int1.1.2 长整形:long1.1.3 短整形:short1.2 浮点型1.2.1 双精度浮点型:double1.2.2 单精度浮点...
    99+
    2024-04-02
  • JavaScript数据类型相关知识详解
    目录一、字面量1.1 数字字面量1.2 浮点数字面量1.3 特殊值1.4 字符串字面量二、变量2.1 变量的定义2.2 变量的赋值三、数据类型3.1 简单数据类型3.2 检测数据类型...
    99+
    2024-04-02
  • [转载] Python数据类型知识点全解
    [转载] Python数据类型知识点全解 1.字符串 字符串常用功能 name = 'derek' print(name.capitalize()) #首字母大写 Derek print(name.count("e")) ...
    99+
    2023-01-31
    知识点 数据类型 Python
  • MySQL模式 Strict Mode知识点详解
    I. Strict Mode阐述 根据 mysql5.0以上版本 strict mode (STRICT_TRANS_TABLES) 的限制: 1).不支持对not null字段插入null值 2).不支持对自增长字...
    99+
    2022-05-21
    MySQL Strict Mode
  • 详细的MySQL列类型中的字符串型知识介绍
    下文主要给大家带来MySQL列类型中的字符串型知识,希望这些内容能够带给大家实际用处,这也是我编辑MySQL列类型中的字符串型知识这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。  &nb...
    99+
    2024-04-02
  • 【知识点】python的__init__详解
    介绍__init__方法的作用 __init__ 方法是 Python 中面向对象编程中类的特殊方法,也称为构造方法,当创建一个类的实例时,__init__ 方法会自动调用。 它的主要作用是初始化实例的属性,在实例被创建后,你可以通过这...
    99+
    2023-09-02
    python Powered by 金山文档
  • Java 知识难点之异常的认知与使用详解
    目录前言一、 异常的背景初识异常数组下标越界访问 null 对象异常分为2种:异常体系:防御式编程:异常的好处LBYL 风格的代码(不使用异常)EAFP 风格的代码(使用异常)二、异...
    99+
    2024-04-02
  • Python的数据类型知识点有哪些
    本篇内容主要讲解“Python的数据类型知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的数据类型知识点有哪些”吧!变量方法举例备注用变量存储值name = "x...
    99+
    2023-06-26
  • JS数据类型的知识点有哪些
    这篇文章主要介绍“JS数据类型的知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JS数据类型的知识点有哪些”文章能帮助大家解决问题。JavaScript中有哪些数据类型?计算机世界中定义的...
    99+
    2023-06-27
  • JS闭包的知识点详解
    本篇内容主要讲解“JS闭包的知识点详解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS闭包的知识点详解”吧!一、什么是闭包学习一个陌生的概念,我们首先要去明白...
    99+
    2024-04-02
  • java向上转型发生的时机知识点详解
    1、直接赋值 public static void main(String[] args) { //父类引用 引用了 子类引用所引用的对象 Ani...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作