数据库定义到char类型的字段时,不知道大家是否会犹豫一下,到底选char、nchar、varchar、nvarchar、text、ntext中哪一种呢?结果很可能是两种,一种是节俭人士的选择:最好是用定长的,感觉比变长能省些空间,而且处理起来会快些,无法定长只好选用定长,并且将长度设置尽可能地小;另一种是则是觉得无所谓,尽量用可变类型的,长度尽量放大些。

小编在本文将跟大家分享MySQL中的varchar和text两种字段类型~

1.varchar整个字段最长只能是64k,根据编码不通,能够存储最长的字符数不同,另外表示varchar长度的部分在最前端也需要占用1-2个字节

2.text类型分为4类,tinytext、text、mediumtext和longtext

分别是256字节,65535字节,16777216字节和4294967296(4GB)

text类型不能指定默认值。在mysql中,对于text类型数据和varchar/char的存储有些不同,text类型的数据,将被存储在元数据表之外地方,但是varchar/char将和其他列一起存储在表数据文件中.

text数据类型实际上将会大幅度增加数据库表文件尺寸,那么在物理存储方面有些影响,同时对text数据的检索和IO输出也会增加对内存的竞争.

3.text列存储不放在元数据行,另外开辟存储空间,行存储的只是blob的指针,可能引起io争用

4.尽量不用text类型,如果一定要使用,请与DBA商量之后使用

小结:

根据存储的实现:可以考虑用varchar替代tinytext

如果需要非空的默认值,就必须使用varchar

如果存储的数据大于64K,就必须使用到mediumtext,longtext

varchar(255+)和text在存储机制是一样的

需要特别注意varchar(255)不只是255byte,实质上有可能占用的更多。

特别注意,varchar大字段一样的会降低性能,所以在设计中还是一个原则大字段要拆出去,主表还是要尽量的瘦小

小编结语:

很多时候,我们建议将text类型特别是长度较大或者变更频繁的数据,存储在其他专有的平台中,例如NOSQL..本质上说,不是mysql不适合存储text,而是在太多的情况下我们期望mysql能够更加高效的提供小数据查询/事务处理。

更多内容尽在课课家教育!

ntext在mysql_varchar和text说不清的那些事相关推荐

  1. mysql text 转 varchar_varchar和text说不清的那些事 - MySQL Life

    作者:吴炳锡 来源:http://wubx.net/ 联系方式: wubingxi#163.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究. 最近有几个同学问我varchar和tex ...

  2. Pandas高级教程之:处理text数据

    文章目录 简介 创建text的DF String 的方法 columns的String操作 分割和替换String String的连接 使用 .str来index extract extractall ...

  3. 【综述阅读】Pre-trained Language Models for Text Generation: A Survey

    Pre-trained Language Models for Text Generation: A Survey 中国人民大学 IJCAI 2021 论文链接:https://arxiv.org/p ...

  4. makefile 常用函数

    Linux下编译c/c++源码需要编写makefile文件,文章参看  http://blog.sina.com.cn/s/blog_4c4d6e74010009jr.html 一函数的调用语法 二字 ...

  5. FireDAC 下的 Sqlite [4] - 创建数据库

    为什么80%的码农都做不了架构师?>>>    建立数据库的代码: {建立内存数据库的一般代码:} beginFDConnection1.DriverName := 'SQLite' ...

  6. Winform中实现自定义水晶按钮控件(附代码下载)

    场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个用户 ...

  7. php fetch mode,odbc_fetch_into

    用户评论: [#1] alvaro at demogracia dot com [2011-04-05 03:04:45] It returns FALSE if there was an error ...

  8. SQL SERVER数据类型与C#数据类型对照表

    SQL SERVER类型 C#类型 精确数字 bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有 ...

  9. JavaScript警告框中的新行

    本文翻译自:New line in JavaScript alert box 如何在JavaScript警告框中添加新行? #1楼 参考:https://stackoom.com/question/7 ...

最新文章

  1. Android include 标签
  2. OpenCV运动检测跟踪(blob track)框架组成模块详解
  3. 「对抗深度强化学习」是如何解决自动驾驶汽车系统中的「安全性」问题的?...
  4. Google浏览器(您的连接不是私密连接)解决方案
  5. QEMU — Guest Agent
  6. android 官方教程中文版
  7. php css错乱,css,html_css多行布局错乱,css,html - phpStudy
  8. 普通高中段计算机学科知识,高中计算机学科的特点及教学内容浅探
  9. 利用微软的平台进行Office文档的在线查看
  10. 安装JDK_Tomcat
  11. Finalshell软件安装使用
  12. 神经网络+CNN模型训练总结:
  13. linux转换文件导出16进制,xxd命令转换二进制十六进制文件
  14. 实现远程连接阿里云的数据库
  15. httpwatch使用
  16. 学计算机买电脑显卡1605ti够吗,GTX1650和GTX1050Ti哪个好?GTX1050ti和GTX1650性能差距对比评测...
  17. CBM2198A - [2013-06-06]量产工具可用CBM2098_V6007工具解决
  18. css3 flex弹性盒子布局梳理,打通任督二脉
  19. 湖北省制造业高质量发展专项资金政策!2022年各大类申报条件以及奖励补贴标准汇总
  20. ue4:角色控制权的切换

热门文章

  1. java 保存 设置_java – 保存设置的实现
  2. Java_数组练习答案_Java数组练习题带答案.doc
  3. python条件语句练习题_python学习-7 条件语句 while循环 + 练习题
  4. 用python画长方形_Python+opencv:绘制矩形,编写文本,PythonOpenCV,画,矩形框
  5. DHCP租用信息导出方案
  6. 输出有样式的php,PHP导出带样式的Excel
  7. mysql多个分类取n条_MySQL获取所有分类和每个分类的前N条记录
  8. python saltstack web_saltstack学习-8:web管理页面(halite)
  9. 矩阵 计算机应用,《计算机视觉算法:基于OpenCV的计算机应用开发》 —3.3 元素级矩阵操作...
  10. LeetCode算法入门- Merge Two Sorted Lists -day15