(1)mysql优化

1:原则上 索引和删表能解决80%的问题  比如订单表 三个月前的删除(移动到历史库)

2:一些技巧上的

比如查询条件不要带函数 比如时间带date_format 先自己算好成时间戳再去做条件

stauts这种 最要不要用string 建议用int  0 1 2 3  数字比字符串快

3:后端使用上的

循环里面不要去查询  可以直接用join

多数情况下group by 能解决大多数问题

不行就group by 多字段+unionall +contact

原则上 一条sql 一定比多条sql省时间

如果这一条很慢 那么多数条件下 是有优化的余地

4:模型设计上的

(1)大数据量的表 尽量字段要少 尽量不要去动

比如网站的全部粉丝表 

现在突然有一天 要设置其中100个为管理员

普通做法 100w一下  是加一个字段 比如isadmin 但这样非常不好 很多对管理员的操作模型就会去链接这张极其数据量大的表

正确做法 应该新建一张管理员表来关联这个粉丝表

(2)常用的表 不要有大字段 ,分表分表 原则上不要怕表多 字段多才是灾难

(3)可以考虑innodb  但数据特大的时候就不要去查了 都没优化的余地

5:某些统计类 日志类的东西 如果特爱去查 最好每天定时去生成 比如留存  

当然 如果量小 一句sql也可以

6:善用存储过程  比如某些递归 存储过程还是蛮快的

原文地址:https://www.cnblogs.com/dk1988/p/8670602.html