数据库三范式
开发中应严格遵循数据库三范式
- 第一范式:每个列都不可以再拆分。
- 第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。
- 第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。
数据库索引:
- 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
- 索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。
- 更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。
创建(优先考虑where、group by使用到的字段)
- 多个条件时可以创建多列索引,比多个单列索引效率高
- 让选择性最强的索引列(能排除更多记录的列)放在前面
- 对于BLOB、TEXT 和 VARCHAR类型的列,加前缀索引
- 覆盖索引:满足查询语句中所有字段与条件,这样可以直接在索引中查询,而不用再到数据库读取了
注意
- MySql在使用like进行模糊查询的时候把%放后面,避免开头模糊查询,因为MySql在使用like查询的时候只有使用后面的%时,才会使用到索引。
- 尽量避免使用