• varchar nvarchar 设计长度时 设计成 (2^n)-1 的好处


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

    首先提出个问题 

    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《魁北克大桥》
  • 相关阅读:
    C阶段【01】
    Xcode常用快捷键的使用
    eclipse中添加web app libraries
    hibernate 连接SQL SERVER2008
    hibernate配置入门(个人总结)
    项目编译PNG报错
    项目archive打包编译报错
    项目上传
    Git本地项目上传,版本管理工具与GitHub的简单结合使用
    将制定目录下的内容复制到另一个路径下
  • 原文地址:https://www.cnblogs.com/codedreams/p/10900890.html
Copyright © 2020-2023  润新知