1. 布尔值,虽然一个bit即可表示,但仍会占用1个字节,8个bit,大大浪费了空间。用整数(int/long)的每一个二进制位(bit) 分别代表一个布尔状态,用二进制位掩码+位运算,把多个布尔压缩进一个整数里,»只是用来定位某一位的工具

  2. shardingSphere是aphache下的分布式数据库中间件,其主要的作用是让应用层的sql可以在经过分库分表后仍然可以正常使用,不必因为分库分表的原因而改动sql语句。原理是它会把你原本的sql语句变成SQL解析、路由到对应库表、改写执行、最后合并结果。

  3. 分库分表即横向扩展数据库,相比于纵向提升单机硬件,横向扩展更加灵活。其出现的背景是,随着数据库的使用,一张表的记录数量可能会越来越多,在每次查询同一条记录的时间会变长,单表数据量过大时,原因是索引树高度增加、IO开销变大、单机性能瓶颈导致查询变慢,而非索引本身问题。所以这时可以采取分库分表策略。比如对于一张table的一个数值字段对2取余,值为0记录的存在schem0中,值为1的记录存在schema2中。这样可以缓解服务器的压力,提高sql执行速度。

  4. 在mysql数据库中root用户创建的数据库,表等默认情况下其它用户是不可见的,除非root用户给予权限。