优化顺序:sql > 索引 > 表结构设计 > 数据库配置 > 硬件配置
效果由高到低,成本却由低到高。
- sql
- 不要用*号
- 不要子查询
- 不要使用不能命中索引的语法(逆向查询,函数计算,类型转换,空值查询)
- 不要使用复杂sql,各种函数、orderby、groupby、having等
- 索引
- 频繁查询的sql要建立索引
- 不要建过多索引
- 大文本、唯一性不高的字段不要建索引
- 表结构设计
- 选择合适的字段类型
- 大文本字段和小字段分离,常用和不常用字段分离
- 适当进行字段冗余
- 数据库配置
- 如果系统一致性要求不高,隔离级别可以设置为RC提高并发。
- 如果系统对极端情况下的数据丢失要求不高,脏页刷盘配置的时间间隔可以设置长一些。
- 硬件配置
- 提高单机的配置
- 分布式数据库