索引失效
- 模糊查询以%开始
- or 关键字两边必须同时具有索引 否则失效 (可用union代替)
- 复合索引没有使用左侧的列查找
- where 中索引列参加了运算
- where 中索引列使用了函数 例:select * from emp where lower(ename) = ‘smith’
- 隐式的类型转换
数据库设计三范式
- 每张表必须有主键,且每个字段原子不可再分 例:联系方式字段->邮箱+号码 (X)
- 在第一范式基础上,每个非主键字段须完全依赖主键,不可有部分依赖。
多对多怎么设计?
口诀:多对多,三张表,关系表两个外键!
3.在第二范式基础上,每个非主键字段须直接依赖主键,不可有传递依赖。
一对多怎么设计?
口诀:一对多,两张表,多的表加外键!
一对一(一张表上数据量大时)拆分!
口诀:一对一,外键唯一!