MySQL 数据库面试题整理

1、简述char和varchar的区别?

char(20)  定长字符类型
特点:
    1、一次性分配20个字符串的存储空间
    2、使用空格字符填充剩余空间
优点:
    1、定长字符存储,效率较高,比如手机号11位很适合
缺点:
    1、变长长度的字符串比较浪费空间的


varchar(20)  变长字符类型
特点:
    1、随着使用分配存储空间(每次存储时都要做一个数数,数多少就+1)
优点:
    1、相对char来讲更省空间
缺点:
    1、在存数据时,效率低一点

2、char和varchar如何选择?

1、定长长度一定选择char类型。
2、对于变长长度
    读多写少,尽量使用varchar
    insert多,可以酌情使用char类型,或者在业务不繁忙期批量进行录入
    或者从存储引擎优化(tokudb)和架构优化出发进行优化(分布式)

 

posted @ 2020-02-19 22:52  miclesvic  阅读(16)  评论(0)    收藏  举报