谈谈你对数据库优化的见解

  1. 数据库服务内核优化
  2. my.cnf,搭配压力测试进行调试
  3. sql语句优化
    1. 使用缓存优化查询 (进行多次查询的相同的查询,结果就会放入缓存中 后续同样的查询就会从数据库缓存中拿到)使用函数不确定值会刷新缓存
    2. explain 检测sql查询
    3. limit 1 明确只有一个数据的时候
    4. 永久链接(在一些极端环境下 apache 会发出 http请求创建子进程去请求数据库)
    5. 选择正确的数据库索引 myISAM 和 innoDB 对于插入操作比较友好
    6. 进行大量删除 和插入操作的时候 进行拆分操作 (大量数据就会表被锁起来还有大量的数据涌入 进行排队造成宕机 limit)
    7. 数据类型 尽量使用小的 (硬盘数据 数据紧凑会 加速查询提升io性能)
    8. 固定的字段长度(对于数据库 固定的长度计算偏移量会比较容易)
    9. 尽量不要给null值
    10. 明确的固定的字段上 使用枚举类型 enum(性别,国家,省市)尽量少使用varchar
    11. id 主键每张表都要建立 集群 分区
    12. 避免使用select * (select 查询越多速度就越慢 数据越多网络的传输也会负载过重)
    13. rand()函数 计算实在cpu上面进行的
    14. 链接两表的时候 join 尽量 保持两个字段的类型一致 where 后面的条件类型不一样无法创建索引
    15. 垂直分割将列的行时分割成表
上一篇:vuex解决刷新页面丢失数据


下一篇:在线XML转JSON工具