zoukankan      html  css  js  c++  java
  • 数据库优化分层思想

    可以分别从SQL语句层面、SQL配置层面、SQL架构层面和业务层面来优化。

     SQL 语句层面

      1. 调优策略

    	 	*号的处理(只是提取必要字段,减少流量)
    	 	大SQL(拆分、逐步缩小结果集)
    	 	合理的索引(where字句后面的条件)
    	 	类型转换(“符号的使用)
    	 	尽量不要用范围查询,或者缩小检索范围(e.g.程序逻辑 update)
    

      2. 哪些SQL需要调优

    		找开发
    		查看程序日志(e.g.接口 -> 后台服务)
    		查看慢查询日志
    		查看统计:最多调用、最占流量
    

    SQL配置层面

      1. 哪些配置需要关注

    		Query_Cache
    		max_connections
    		wait_timeout
    		lock
    

    SQL架构层面

        

    		主从复制(读写分离)
    			考虑数据一致性
    		分库分表(UID倒数几位取模)
    			映射关系
    			是否均匀
    		负载均衡
    			LVS、F5、Nginx
    		多级缓存
    			redis
    

    业务层面的思考

    	表字段拆分
    		1.某些列字段不常用
    		2.text(适用key-value)
    			拆分出来,新建一个详情表
    			方便运维(DDL)、便于缓存、提高查询性能
    	冷数据备份
    		把每年历史数据导出去,缩小检索范围
    
    	程序逻辑的处理
    		UPdate全表的例子
    

      

      

  • 相关阅读:
    消息队列优缺点及各种MQ对比
    反射详解
    Tomcat线程模型及调优
    Tomcat结构及类加载机制
    Spring AOP
    Spring IOC
    Spring介绍
    SpringMVC介绍
    Mybatis介绍
    Ajax笔记(一)
  • 原文地址:https://www.cnblogs.com/evilxr/p/4001240.html
Copyright © 2011-2022 走看看