sqlserver转mysql存储过程的经验
最近项目需要将sqlserver存储过程转为mysql的,遇到了很多问题,最后终于做完成了.但是一开始速度不尽人意.后经过反复测试找到了一下提升存储过程效率的建议.
- 1.使用内存临时表显著提高查询速度
create TEMPORARY table if not EXISTS tb(
id int,
age double default 0,
money INT default 0,
count double default 0,
maxValue double DEFAULT 0
)ENGINE=MEMORY;
- 2.使用了临时表要在过程结束先TRUNCATE临时表,再删除delete临时表。
TRUNCATE table tb;
drop table tb;
3.在存储过程中使用别名会增加查询时间。
4.灵活使用索引可以大幅提升效率
5.在存储过程中使用临时表有时会出现一直无法取到值的情况。原因是并发问题。可以将计算结果直接传值到变量中传出而不是通过select语句查询。