首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    char、varchar、binary和varbinary的区别与联系

    char使用固定长度的空间进行存储,char(4)存储4个字符,根据编码方式的不同占用不同的字节,gbk编码方式,不论是中文还是英文,每个字符占用2个字节的空间,utf8编码方式,每个字符占用3个字节的空间。 如果需要存储的字符串的长度跟所有值的平均长度相差不大,适合用char,如MD5。 对于经常改变的值,char优于varchar,原因是固定长度的行不容易产生碎片。 对于很短的列,char优于varchar,原因是varchar需要额外一个或两个字节存储字符串的长度。 varchar保存可变长度的字符串,使用额外的一个或两个字节存储字符串长度,varchar(10),除了需要存储10个字符,还需要1个字节存储长度信息(10),超过255的长度需要2个字节来存储 例外:Myisam引擎中使用ROW_FORMAT=FIXED时,每行使用相同的空间,造成浪费 char和varchar后面如果有空格,char会自动去掉空格后存储,varchar虽然不会去掉空格,但在进行字符串比较时,会去掉空格进行比较

    01

    关于在服务器上发布网站遇到的两个问题之解决方案

    背景:使用SSM框架+MySql编写的网站,在windows平台上发布。 在自己服务器以及本地发布都正常,交付客户是,在他的阿里云服务器上部署出现以下两个问题: 1.安装Java和Tomcat之后,打包放入网站,启动Tomcat服务器,正常,没有任何异常,但是通过IP地址,或者Localhost访问网站,页面数据能正常显示,但是所有的css,js,图片等静态资源全部都不能加载,network显示500异常。 2.程序某些表中的文件查询没有结果,但是控制台输出的sql语句直接粘贴在图形化软件中,能查询出数据。注:只是某些表查不出来数据。 解决方案: 1.从防火墙,到网络限制,等等都考虑了,无果,最后从网上看到原因是Jdk1.8不支持Spring3.x,无奈将1.8删除,安装1.7,然后正常了,接下来出现了2的问题。 2.删除数据库,重新导入数据文件,远程粘贴数据表,等等,也是尝试N多方案,最后想起来我新建数据库的时候没有选择字符编码,当时考虑会使用默认的编码方式(因为我安装数据库的时候都选择默认编码方式utf-8,有的mysql版本支持选择,有的不支持。),谁知道这个数据库别人没有选择,所以我又将数据库编码方式修改为utf-8,如下图

    02
    领券