-
优化表设计
- 表结构要尽量遵循第三范式的原则,让数据结构更加清晰规范,减少冗余字段,同时也减少了在更新,插入和删除数据时等异常情况的发生。
- 反范式原则。如果分析查询应用比较多,尤其是需要进行多表联查的时候,可以采用反范式进行优化。当冗余信息有价值或者能大幅度提高查询效率的时候,我们就可以采取反范式的优化。
- 表字段的数据类型选择。字段可以采用数值类型就不要采用字符类型;字符长度要尽可能设计得短一些
-
优化SQL查询
优化SQL语句的内容让SQL执行效率更高效。比如子查询优化、等价谓词重写、视图重写、条件简化、连接消除和嵌套连接消除等。
-
优化物理查询
高效地建立索引,并通过这些索引来做各种优化。
- 如果数据重复度高,就不需要创建索引。
- WHERE子句中对索引字段进行了表达式的计算,会造成这个字段的索引失效。
- 使用联合索引时,索引的顺序就很重要
- 多个索引对索引使用的影响。索引不是越多越好,因为每个索引都需要存储空间,索引多也就意味着需要更多的存储空间
-
使用Redis作为缓存
-
库级优化:分库分表原则