19年Java岗面试分享:升级打怪连跳三家公司 最终斩获心动offer( 六 )

  • 如果落到某个分片的数据很大怎么办?(按照某种规则 , 比如哈希取模、range , 将单张表拆分为多张表)

  • 哈希取模会有什么问题么?(有的 , 数据分布不均 , 扩容缩容相对复杂 )

  • 分库分表后怎么解决读写压力?(一主多从、多主多从)

  • 拆分后主键怎么保证惟一?(UUID、Snowflake算法)

  • Snowflake生成的ID是全局递增唯一么?(不是 , 只是全局唯一 , 单机递增)

  • 怎么实现全局递增的唯一ID?(讲了TDDL的一次取一批ID , 然后再本地慢慢分配的做法)

  • Mysql的索引结构说下(说了B+树 , B+树可以对叶子结点顺序查找 , 因为叶子结点存放了数据结点且有序)

  • 主键索引和普通索引的区别(主键索引的叶子结点存放了整行记录 , 普通索引的叶子结点存放了主键ID , 查询的时候需要做一次回表查询)一定要回表查询么?(不一定 , 当查询的字段刚好是索引的字段或者索引的一部分 , 就可以不用回表 , 这也是索引覆盖的原理)

    推荐阅读