mysql优化
1、尽量不再数据库运算
(MD5 order by rand() left 等 避免在sql语句中使用函数)
2、对数据做合理预估纯int类型不超过1000w
含char类型不超过500w
3、保持表字段少而精,控制表字段的数量
4、控制单库的表数量5、拒绝大事务,大sql 大批量
6、 多使用int类型字段
7、避免使用null
8、 避免/不用 text 、 blob
9、不要在数据库存图片
10、 合理使用索引
11、 优先考虑覆盖索引
12、 字符字段建议前缀索引
13、 不要在索引列进行计算
14、 尽量不用外键
15、innodb 尽量要建立主键
16、拒绝大SQL
17、 pv : 页面访问量
uv : 独立访客
tps : 每秒事务数
qps : 每秒查询量
三范式:
1、表中的每一列都是不可再分的,确保每一列的原子性
2、非主键字段要以来于主键字段
3、非主键字段和主键字段直接关联的,而不是间接相关,
非主键字段不能相互关联
反三范式:
没有冗余的数据库未必是最好的数据库,
有时为了提高运行效率,提高读性能,
就必须降低范式标准,适当保留冗余数据。
具体做法是: 在概念数据模型设计时遵守第三范式,
降低范式标准的工作放到物理数据模型设计时考虑。
降低范式就是增加字段,减少了查询时的关联,
提高查询效率,因为在数据库的操作中查询的比例要远
远大于DML的比例。但是反范式化一定要适度,
并且在原本已满足三范式的基础上再做调整的。