58同城 网站建设网络营销产品的特点
SQL优化
SQL优化的方法:
-  
sql查询语句尽不使用select * ,而是具体的字段。
- 节约资源,减少网络开销。
 - 减少回表,提高查询效率。
 
 -  
避免在where子句中使用or来连接条件。
- or可能会使索引失效,从而进行全表查询。
 
 -  
尽量使用数值代替字符串类型。
 -  
建议使用varchar代替char。
 -  
对查询进行优化,应该避免全表扫描,在where以及order by涉及的列建立索引。
 -  
尽量避免索引失效。
- 在where中对字段进行null判断。
 - 避免在where中使用or连接查询条件。
 - in 和 not in 慎用,尽量用between代替。
 - 模糊查询导致全表扫描,用全文索引。
 - 尽量避免在where中对字段进行函数操作。
 
 -  
inner join left join right join 优先使用inner。
 -  
提高group by效率,----先过滤,在分组。
 -  
清空表优先使用trun cate 而不是delete。
- trun cate是对表结构进行操作。(将主键(如:id)也清除)
 - delete是逐行进行删除。
 
 -  
表连接不易太多,索引不易太多,一般五个之内。
- 联表数量越多编译开销越大。
 - 每次关联内存中都会生成一个linshibiao。
 - 应该把连接表拆分为多个执行,可读性更高。
 
 -  
避免在索引列使用内置函数,会导致索引失效。
 -  
使用explain分析你的执行计划。
 
执行计划:
 **explain:**可以模拟优化器执行sql查询语句,从而知晓sql是如何处理你的sql语句的,分析你的查询语句或是表结构的性能瓶颈。
EXPLAIN作用:
- 对表的读取的顺序;
 - 数据读取操作的操作类型;
 - 哪些索引可以被使用;
 - 哪些索引已经被使用;
 - 表之间的引用;
 - 每张表有多少行被优化器查询;
 
**explain使用:**在select之前加explain,返回执行计划的信息,而不是执行SQL;
