当前位置: 首页 > news >正文

网站后台不显示可以做网站二维码吗

网站后台不显示,可以做网站二维码吗,小程序开发教程免费,评价模板前几天在设计表结构时#xff0c;针对表中的一个字段使用text还是使用varchar是受到了开发同学的挑战。本篇文章对text和varchar的区别做个总结。 VHARCHAR和TEXT对比 char(n)varchar(n)中括号中n代表字符的个数#xff0c;并不代表字节个数#xff0c;所以当使用了中文的… 前几天在设计表结构时针对表中的一个字段使用text还是使用varchar是受到了开发同学的挑战。本篇文章对text和varchar的区别做个总结。 VHARCHAR和TEXT对比 char(n)varchar(n)中括号中n代表字符的个数并不代表字节个数所以当使用了中文的时候(utf8)意味着可以插入m个中文但是实际会占用m*3个字节。同时char和varchar最大的区别就在于char不管实际value都会占用n个字符的空间而varchar只会占用实际字符应该占用的空间1并且实际空间1n。超过char和varchar的n设置后字符串会被截断。char的上限为255字节varchar的上限65535字节text的上限为65535。char在存储的时候会截断尾部的空格varchar和text不会。varchar会使用1-3个字节来存储长度text不会。 下图可以非常明显的看到结果 ValueCHAR(4)Storage RequiredVARCHAR(4)Storage Required‘’’ ’4 bytes‘’1 byte‘ab’ab ’4 bytes‘ab’3 bytes‘abcd’‘abcd’4 bytes‘abcd’5 bytes‘abcdefgh’‘abcd’4 bytes‘abcd’5 bytes 总体来说 char存定长速度快存在空间浪费的可能会处理尾部空格上限255。varchar存变长速度慢不存在空间浪费不处理尾部空格上限65535但是有存储长度实际65532最大可用。text存变长大数据速度慢不存在空间浪费不处理尾部空格上限65535会用额外空间存放数据长度顾可以全部使用65535。 场景问题 从空间方面 varchar varchar在mysql中满足最大行限制也就是65535(16k)字节在mysql中使用utf8mysql中的utf8和我们正常的编码utf8不同字符集一个字符占用三个字节。 使用utf8字符编码集varchar最大长度是(65535-2)/321844个字符超过255个字符会有2字节的额外占用空间开销所以减2如果是255以下则减1mysql中使用utf8字符集一个字符占用3个字节。使用utf8mb4字符集varchar最大长度是(65535-2)/416383 个字符(超过255个字符会有2字节的额外占用空间开销所以减2如果是255以下则减1mysql中utf8mb4字符集也就是我们通常使用的utf8mb4字符集)mysql中使用utf8mb4字符集一个字符占用4个字节。 text 最大限制是64k采用utf8字符集占用(262144-2)/387381个字符采用utf8mb4字符集占用(262144-2)/465535个字符。除此之外基于 blob二进制大对象类型的变体还有如下三个 text 的最大长度为 65,535 字节与 varchar 相同。mediumtext 的最大长度约为 16 兆字节。longtext 的最大长度约为 4 gb。 另外从官方文档中可以得知当varchar大于某些数值的时候其会自动转换为text大概规则如下 大于varchar255变为 tinytext大于varchar500变为 text大于varchar20000变为 mediumtext 所以对于过大的内容使用varchar和text没有太多区别。 关于性能方面 索引会是影响性能的最关键因素而对于text来说只能添加前缀索引并且前缀索引最大只能达到1000字节。而貌似varhcar可以添加全部索引但是经过测试其实也不是。由于会进行内部的转换所以long varchar其实也只能添加1000字节的索引如果超长了会自动截断。如下代码 localhost.testcreate table test (a varchar(1500)); Query OK, 0 rows affected (0.01 sec)localhost.testalter table test add index idx_a(a); Query OK, 0 rows affected, 2 warnings (0.00 sec) Records: 0 Duplicates: 0 Warnings: 2localhost.testshow warnings; ------------------------------------------------------------------------ | Level | Code | Message | ------------------------------------------------------------------------ | Warning | 1071 | Specified key was too long; max key length is 767 bytes | | Warning | 1071 | Specified key was too long; max key length is 767 bytes | ------------------------------------------------------------------------从上面可以明显单看到索引被截断了而这个767是由于innodb自身的问题使用innodb_large_prefix设置。 总结 使用varchar可以选择大小并为存储设置上限使用text则不能设置上限固定长度6553516k。使用varchar可以设置默认值text不可以设置默认值。使用varchar可以进行排序查询text不可以排序查询。使用varchar超过255长度都会隐式的转为text处理。涉及text列的查询可能会导致在磁盘而不是内存中创建临时表。使用基于磁盘的表会显着降低性能这意味着使用 text 的查询可能会慢得多。使用text字段时需要将text字段单独放到一个表中。 完
http://wiki.neutronadmin.com/news/295130/

相关文章:

  • 保定网站建设团队ppt排版布局
  • 论文网站建设格式郴州网红店
  • 学会网站建设总结seo优化方法
  • 域名备案和网站备案推广软文代发
  • 微网站案例饿了吗网站做的比较好的地方
  • cookie做网站访问量大学生作业代做网站
  • 网站加入地图360收录提交申请
  • 那些小网站是哪里人做的重视企业网站
  • 广西备案工信部网站织梦网站图片不显示图片
  • 软件开发流程图种类衡水网站优化
  • 公司没网站怎么做dsp百度网站排名搜行者seo
  • 怎样才能在百度搜索到自己的网站建设网站费用
  • 查答案的网站制作模板html5国内网站
  • 大良营销网站建设方案成都建设高端网站
  • 网站地图做计划任务校园公共设施设计ppt
  • wordpress迁移站点网络推广竞价是什么
  • 郴州网站制作公司招聘seo人员工作内容
  • 网站发布与推广方案大网站建设
  • 达人室内设计网站深圳微信分销网站公司
  • 重庆建网站培训机构企业官方网站模板下载
  • 塘厦镇网站建设公司图案设计
  • 图片站手机网站怎么做免费建站平台哪个好
  • 简单做网站阿里logo设计网站
  • 学做蛋糕网站wordpress 分页列表
  • 地产金融网站开发wordpress 智能合约
  • php网站建设考试新加坡设计公司排行
  • 孝南区建设局网站腾讯云低代码开发平台
  • 做免费外贸网站册域名谷歌不收录网站
  • 济南做网站哪里好诚信网站建设
  • 个人购买域名做企业网站北京seo优化多少钱