MySQL普通索引和唯一索引的深入讲解
场景 1、维护一个市民系统,有一个字段为身份证号 2、业务代码能保证不会写入两个重复的身份证号(如果业务无法保证,可以依赖数据库的唯一索引来进行约束) 3、常用SQL查询语句:SELECT name FROM CUser WHERE id_card = ‘XXX’ 4、建立索引 身份证号比较大,不建议设置为主键 从性能角度出发,选择普通索引还是唯一索引? 假设字段k上的值都不重复 查询过程 1、查询语句:SELECT id FROM T WHERE k=5 2、查询过程 通过B+树从树根开始,按层搜索到叶子节点,即上图中右下角的数据页 在数据页内部通过二分法
用户评论