这个问题想说已久就是博没共享出来

首先提出个问题

CREATE TABLE `test` (
`a` varchar(200) DEFAULT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8

VS

CREATE TABLE `test` (
`a` varchar(255) DEFAULT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8

是否感觉有什么异常没有的话 各位看官请往下看把

CREATE TABLE `test` (
`a` varchar(256) DEFAULT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8

这个 255 256大家有什么感想没有

经历过一些公司以及一些项目大家是否常见到

varchar(511)
varchar(255)
varchar(127)
varchar(64)
varchar(32)
varchar(16)
varchar(8)

让你设计长度是 你是否就这样
varchar(10)
varchar(20)
varchar(100)
varchar(150)
自然界中是十进制而计算机是二进制

 1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是-128到127

①因为varchar类型存储变长字段的字符类型,当存储的字符串长度小于255字节时,其需要1字节的空间,当大于255字节时,需要2字节的空间。
②使用2 ^ n长度是更好的磁盘或内存块对齐。对齐块更快。今天“块”的大小更大,内存和磁盘足够快,可以忽略对齐,对于非常大的块来说是非常重要的。

因此为了更加合理的利用我们珍贵的磁盘和内存大家一定要在设计表的时候注意一些细节

PS:细节决定成败By《魁北克大桥》

varchar nvarchar 设计长度时 设计成 (2^n)-1 的好处的更多相关文章

  1. [转]varchar(n),nvarchar(n) 长度、性能、及所占空间分析

    varchar(n),nvarchar(n) 中的n怎么解释: nvarchar(n)最多能存n个字符,不区分中英文. varchar(n)最多能存n个字节,一个中文是两个字节. 所占空间: nvar ...

  2. varchar(n),nvarchar(n) 长度、性能、及所占空间分析 nvarchar(64) nvarchar(128) nvarchar(256)(转)

    varchar(n),nvarchar(n) 中的n怎么解释: nvarchar(n)最多能存n个字符,不区分中英文. varchar(n)最多能存n个字节,一个中文是两个字节. 所占空间: nvar ...

  3. sql中varchar(n),nvarchar(n) 长度性能及所占空间分析

    sql中varchar(n),nvarchar(n) 长度性能及所占空间分析 1.varchar(n),nvarchar(n) 中的n怎么解释: nvarchar(n)最多能存n个字符,不区分中英文. ...

  4. json_encode在设计api时需要注意的问题

    1. 在设计api时我们经常会使用关联数组,例如:我要返回给客户端主题信息和主题包列表 原始数组格式 $arr = array( 100=>array('themeName'=>'a',' ...

  5. 运行时设计(Design at Run-time)

    1.定义 传统软件开发必须经历“设计时”和“运行时”两个阶段,运行时设计,顾名思义,就是在软件运行过程中,对软件进行实时设计修改,而无需再次进行编译,用户即可使用. “运行时设计(Design at ...

  6. 设计APP时我们该怎么做

    不得不承认,手机APP已经渗透到我们的生活中,根据数据统计,人们每天平均有3.9个小时是花费在手机APP的使用上的,可以预见,手机APP正在改变我们的生活.手机APP受到人们的欢迎,很多商家也看到了其 ...

  7. sql server dba常用概念、操作分析char,varchar,nvarchar,varchar(max)

    1.设计表时如何使用char 与 varchar? 请写出你对varchar(max)的理解. 1.设计表时如何使用char 与 varchar? 请写出你对varchar(max)的理解. char ...

  8. char/varchar/nvarchar的区别

    原文:https://blog.csdn.net/w516162189/article/details/78914035 我们在设计数据库的时候,需要根据需求场景选择合适的字段类型,对数据的执行效率有 ...

  9. (转)Android Binder设计与实现 – 设计篇

    原文地址(貌似已打不开):Android Binder设计与实现 – 设计篇 ------------------------------------------------------------- ...

随机推荐

  1. swift模式和模式匹配

    模式和模式匹配 模式: 代表单个或者复合值得结构,也就是说模式不是一个特定的值,它是一种抽象的结构,[一句话,不是特指,是泛指].这样就可以用模式来匹配各种各样的值. 例如:(x,y)可以匹配元祖(1 ...

  2. 转自B站 真希望我在20岁就懂得的10个人生道理 主讲:王魄

    视频地址:https://www.bilibili.com/video/av65194244?from=search&seid=15261178568916939794 这位阿姨讲得还行,特别 ...

  3. [常用的SQL语句总结]

    1. 创建数据库DataBase create  database  数据库名称; 2. 删除数据库DataBase drop database 数据库名称 drop database 数据库名称1, ...

  4. select框可编辑

    $(function(){ $("#select").editableSelect({ //$("#select")为select框id effects: 's ...

  5. Networking 基本术语/概念

    目录 文章目录 目录 基本概念 冲突域(Collision Domain) 广播域(Broadcast Domain) 冲突域与广播域的区别 IP 网络数据传输方式 物理网络设备 发展简述 中继器(R ...

  6. easyui tree checkbox 单选控制

    参考文档:中文网:http://www.jeasyui.net/plugins/185.html easyui-tree的checkbox默认是多选的, 如何控制只能单选一个子节点,看代码: $('# ...

  7. python爬虫常用的库

    1,请求:requests  requests.get(url, headers)  requests.post(url, data=data, files=files)  urllib模块:  Py ...

  8. Oracle 安装 RAC 11.2.0.4 centos7.4 -udev磁盘绑定/执行root脚本报错

    在centos 7.4上安装oracle rac 11.2.0.4 报错及相关解决 $ cat /etc/redhat-release CentOS Linux release 7.4.1708 (C ...

  9. gin框架教程一: go框架gin的基本使用

    我们在用http的时候一般都会用一些web框架来进行开发,gin就是这样的一个框架,它有哪些特点呢 一:gin特点 1.性能优秀2.基于官方的net/http的有限封装3.方便 灵活的中间件4.数据绑 ...

  10. CSS3 —— 盒子模型

    盒子模型 主要的属性就5个:width.height.padding.border.margin.如下:  width和height:内容的宽度.高度(不是盒子的宽度.高度). padding:内边距 ...