更好的性能或更好的结构

时间:2010-01-31 10:56:54

标签: php database

更好的表现:

list($result1,$result2,$result3,$result4)=get_all_result();

总sql查询数量较少,性能稍好一些。但重用次数很难。

更好的结构:

$result1=module1_get_result();
$result2=module2_get_result();
$result3=module3_get_result();
$result4=module4_get_result();

它需要更多查询,因此性能会更差。但结构更清晰。

你更喜欢哪一个?

4 个答案:

答案 0 :(得分:2)

这取决于。

对于应用程序的关键路径,您可能必须编写难以阅读和维护的高性能代码,但最好在确定实际问题时进行优化。对于其他人,我通常更喜欢可维护性而不是高性能。

答案 1 :(得分:1)

嗯,表现有多重要?

与后者的重复使用/可维护性提高相比,是否值得?

答案 2 :(得分:0)

由于您的代码看起来像PHP代码,我假设它是PHP。

如果使用数组,性能和可读性都会更好。

$results = get_all_result();
//the above should return an array, so you can access
//$results['result1'], $results['result2'], $results['result3'], $results['result4']

较少的通话效果更佳。将结果存储在数组或对象中以提高可读性。

此外,过早优化是邪恶的。您应该创建可维护的代码,因为创建只是您所做的大约10%。 90%的代码生命周期是维护它,无论是错误修复,更改功能,添加新功能等。可维护代码也会有更少的错误,因为它的编写方式,错误将更容易被发现。

答案 3 :(得分:-1)

如果get_all_result()返回数字索引数组(1,2,3,...),为什么不:

extract(get_all_result(), EXTR_PREFIX_ALL, 'result');

extract()似乎是一个完美的候选人。