1.提高SQL执行效率
一个常用的查询交易中,查询时间为11s,最后发现,原因不仅仅在于sql的执行效率,更主要原因是查询的结果为40W+的数据量,如此大的查询结果势必导致时间很长;
经分析,该查询交易left join了5张表,且其中4张表的数据量为30W~90W;在商讨后,决定只留下两张表做查询的视图;由此查询2W数据时间降至5s,但仍很慢,又发现SQL语句where条件中使用了concat函数,于是改用另一字段,时间将至2s以下;后又在常用的查询条件上添加了一组索引,则查询结果为2W数据,用时0.3s;但整个查询交易中查询这张视图3次,即共用时0.9s;在此情况下已无法再做优化
2.降低有多通讯交易的处理时间
<1>.关闭屏幕输出日志
<2>.调大文件句柄数