SQL文速度改善经验(一)

问题:数据量总共就是13000多条,但是查询时间要半个小时左右,很不合常理,SQL文也就四百多行。

解决办法:中间有left join很多表,把SQL拆开,看每个子表各自的查询速度,发现都很快,但是join到一起就满了。

接下来尝试这把这些表一个个的去join,总算找到原因,最后一个join的表是13000多条数据,就相当是13000多条无序的数据join13000多条无序的数据,然后速度就慢了。最后解决办法:将最后一个join的子表放在外面,将主表的数据排序,子表也按照相应的规则排序,然后在join,最后速度快了很多,一分钟就出来了。

 

经验总结:如果是上万条数据join上万条数据去匹配的时候,无序的时候循环会有很多遍,速度会非常慢,解决办法最好是两个表按照同样的规则排序之后在join查询,速度会改善很多。

你可能感兴趣的:(数据库知识点)