zoukankan      html  css  js  c++  java
  • 第27章 字符集设置

    设置 字符集支持:




    这个章节描述在使用字符集设置支持的管理因素 ,它覆盖了下面的几个主题:






    1.配置server使用唯一的字符集供你的安装需要




    2.选择数据类型用于列的存储需要和性能考虑






    27.1 性能问题








    通过字符设置来降低磁盘空间数量和server运行的内存使用,不要选择不需要的字符集设置




    当你配置MYSQL的时候。这个需要你编译MYSQL源代码 相比使用预编译的2进制文件。






    查看那些字符集是可用的,可以调用configure --help选项




    27.2  选择数据类型用于字符列






    当你创建的表有字符串列用于存储字符数据,考虑使用哪种类型的数据和字符集设置会最小化存储 比如disk I/O.






    它存储字符串值所有的有相同的程序,使用固定长度的类型相比可变长度类型。






    存储32字符串长度的列,CHAR(32) 需要32个字符, VARCHAR(32)需要32个字符,加上额外的字节存储长度。




    在这种情况下,VARCHAR 相比CHAR至少多一个字节。




    另一方面,如果存储的值长度不一,可变的数据类型占用更少的空间。




    如果值得范围从0到32 字符 平均是16个字符,CHAR(32) 需要32个字符,


    VARCHAR(32) 需要16个字符加上平均一个字节。 VARCHAR 只需要一半的存储相比CHAR。






    对于多字节的字符设置 有可变长度的编码,一个可变长度的数据类型是合适的


    尽管存储的值只有相同的数量的字节。UTF8 字符集使用一个字符占用3个字节。




    对于固定长度的数据类型,3个字节一个字符必须被分配允许每个字符需要最宽的编码。




    因此, CHAR(32) 需要96个字节,尽管很多存储的值包含32个单独字节的字符。




    对于可变的数据类型,只有更多的存储被分许当需要的时候


    在一个VARCHAR(32)列,一个32字符串有整个 3个字节的字符窜组成需要96个字节加上一个长度字节,


    但是你需要32个字节加上一耳光长度字节如果字符窜有单字节的字符组成。




    如果你有一个选择在多字节字符集,选择 最通用的字符集占用更少的空间。


    比如, utf-8 和utc2 字符集都能用于存储万国码数据




    在utf8中,字符集占用3个字节,但是大多数无重音的latin 字符集占据一个字节。




    在ucs2,每个字符占用2个字节。









































































































  • 相关阅读:
    centos安装elasticsearch-rtf5.5.4
    docker的8个使用场景
    通过优化Gunicorn配置获得更好的性能
    django更换ORM连接处理(连接池)转
    单点登录,系统B如何辨别用户已登录系统A
    数据库Mysql的学习(六)-子查询和多表操作
    数据库Mysql的学习(五)-运算符与函数
    数据库Mysql的学习(四)-表的记录操作
    数据库Mysql的学习(三)-各种约束
    c和c++单链表
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351772.html
Copyright © 2011-2022 走看看