在MYSQL中最好在存储过程中使用函数(包含子查询)而不是直接编写子查询,它是否有任何区别或仅用于代码重用?
答案 0 :(得分:1)
答案很简单:试一试并测量结果;最好是在一个现实的测试集上。 (当您的表中只有2条记录时,您可能看不到太多差异,但对200万条记录的影响可能很大)
您可以这样测试:
$starttime = microtime(true);
// your codes
$endtime = microtime(true);
echo $duration = $endtime - $starttime;
恕我直言,子查询很可能(很多)比存储在函数中的相同功能更快。但我有MSSQL偏见,并不能确定MySQL是否会有所不同;但我非常怀疑。
答案 1 :(得分:0)
使用函数(包括子查询)具有更好的性能,当您定义函数时,函数将在调用函数时不运行。我的意思是你可能有多个子查询,然后使用函数make来调用你需要的那些。
另一方面,使用该功能将对您的代码进行排序,这在开发中很有价值。
答案 2 :(得分:0)
我已经分析过,在存储过程中,当我直接添加子查询而不是函数时,我得到了5秒到1秒的差异。 我目前正在使用mysql