1、数据库三范式是什么?
第一范式:列不可再分
第二范式:有主键,且非主键字段依赖于主键字段
第三范式:非主键字段不能互相依赖
一、数据库表结构优化:
1、大表拆小表:
a)表结构字段比较多的表拆分成两个表,常用字段放在一个表,不常用字段放在另一个表。
b)表中数据量特别大,按照时间、状态等明显特征数据进行拆封成多个表。
2、多对多查询时把用到的数据列放在一个中间表中,改成对单标的查询
3、适当增加冗余字段来提高查询效率
二:列优化
1、列的类型和长度进行要精确
2、适当在查询列中增加索引来提高查询效率
索引种类:主键索引、外键索引、唯一索引、全文检索索引
索引的优缺点:
优点:提高数据的查询效率,提高数据的准确性
缺点:创建索引占用表空间、新增、修改、删除是要维护索引
三、SQL优化总结:
1、精确条件放在最前面 :最左原则
2、使用模糊查询like关键字时,% 不占第一位,如果占用了则索引失效
3、使用or关键字时,or前后的条件都要走索引
4、使用管理查询代替子查询,提高效率。子查询会生成临时表,使用完成后删除
5、使用联合索引查询时,联合索引的第一个字段一定要出现,不出现则全表扫描
6、使用聚合函数筛选条件时,聚合函数采用别名方式