可以分别从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全表的例子