84366992 发表于 2018-10-10 12:33:41

mysql性能优化——实操

  一、数据库设计方面
  1>设计数据库的时候总要设计一些冗余字段,因为在一些查询中,容易字段可以帮助我们不需要去联表查询,例如:评论数量、最后登录时间、登录次数等
  2>设置删除状态字段
  尽量少用delete语句,这个语句在操作的时候会锁表,用update
  3>字段上面不要null做默认值
  4>做合理的索引,大量的索引只会insert变慢
  5>类型字段建议用tinyint,例如(城市、类型)
  6>varchar内存占用率小,char效率高(固定大小的字符串建议用这个)
  7>mysql和redis结合——高效(对一些经常不动的数据进行缓存处理)
  二、数据库语句方面
  1>select语句尽量写字段,不要用*
  2>查询数量的时候,尽量使用count(1)
  3>查询一条语句时候最好在后面加上limit 1
  4>快速插入:insert into t_user(name) values('a'),('b')效率会高
  5>如果能用inner join 尽量使用
  6>查询时尽量用not null,不要使用null这样会导致数据库不去用索引,会全表扫描
  7>where字句中避免使用!=或,会放弃索引,扫描全表
  8>避免or,如果一个字段有索引,另一个没有,同样会扫描全表——union all代替
  9>避免使用in和not in,用between and来代替,exists代替in
  10>like优化
  参考链接:https://www.zhihu.com/question/52718330?sort=created

页: [1]
查看完整版本: mysql性能优化——实操