mysql基础 1

1、mysql innodb myisam 在磁盘上的表现

myisam :在磁盘上存储成三个文件 .frm(存储表定义) .MYD(存储数据) .MYI(MYindex 存储索引)

innodb   在磁盘上存储成两个文件 .frm(存储表定义) .idb(保存数据和索引)
聚簇索引的顺序就是数据的物理存储顺序, 如:idb
聚簇索引 的解释是:索引顺序与数据物理排列顺序无关。索引数据分开保存如:MYD,MYI

2、常见的维度使用类型
1、IP 用  unsigned(42亿) int  inet_aton
2、身份证用 char(18)
3、手机号码用 char(13)包括香港客户, 只针对国内客户用char(11) 为什么不用bigint才占8字节而char占用11个字节,因为业务查询什么的用到like或者正则匹配会用到索引。包括国际客户用  char(32)。
如果查询的话,一般使用char 用空间换取时间
4、银行卡用char(19)
因为银行卡的号码较长,并且全是数字,为了方便存储,就 统一存储 为字符串类型。如果存储为number类型,已经超出了int类型最大值范围,必须用bigInteger存储,很不方便。并且位数太多的数值会变成 科学计数法
PS:空间复杂度O(11n)与O(8n)其实都算O(n)。各种类型坑太多,还是回归于 符串类型保平安。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值