mysql普通索引和唯一索引效率问题 比如用户登录支持用绑定的邮箱登录,不是每个用户都绑定了邮箱。那么邮箱应该允许为null然后建立唯一索引好呢,还是设置默认空串,建立普通索引好呢?另外还想问下唯一索引的范围里是否不包括字段为null的数据? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 允许为null的话,你在建立唯一索引没有意义,按照你的描述,邮箱登录用得较少,那么先统计一下你们系统最常用的是哪种登录方式,在最多执行的登录sql上在加索引,具体索引类型视业务而定 如果不需要利用唯一索引来保证唯一性约束,那么就创建普通索引。普通索引在定位数据的时候只比唯一索引多了一个节点指针的遍历,两者的查询性能基本可以看成是相等的。但是唯一索引会使得MySQL的change buffer失效,也就失去一项优化性能的特性。 请问存储过程和预处理语句,是同一个概念么? 存储过程问题 菜鸟求助 关于外键 mysql触发器语句 phpMyAdmin建不了触发器 MYSQL 二进制日志概念澄清 mysql的连接问题 关于"mysql密码"的解密 MySQL 的基础 select 问题 mysql 新增生成回滚语句的问题 mysql 查询
普通索引在定位数据的时候只比唯一索引多了一个节点指针的遍历,两者的查询性能基本可以看成是相等的。
但是唯一索引会使得MySQL的change buffer失效,也就失去一项优化性能的特性。