我想优化一些SQL,只需要一个意见,我应该这样做,还是保持原样,以及为什么我应该这样做。 SQL查询通过PHP & Java执行,我将在PHP中展示一个示例,它将介绍我在做什么。SQL优化
主要问题是:
-Maintainability。
改变表,而不用与所有的遗留代码
SQL的 - 速度(它是一个关注580)为我现在所拥有的
-Readability
例搞乱-Ease :
我拿一个LONG阵列从一个客户(不能使其更小),并更新现有值与客户提供的新值以下列方式:
$i = 0;
foreach($values as $value)
{
$sql = "UPDATE $someTable SET someItem$i = '$value' WHERE username='$username'";
mysql_query($sql, $con);
$i+=1;
}
从上面的例子很容易看出,如果值的数组很长,比我执行很多SQL语句。
如果我不是这样做:
$i = 0;
$j = count($values);
$sql = "UPDATE $someTable SET ";
foreach($values as $value)
{
if($i < $j) //append values to the sql string up to the last item
{
$sql .= "someItem$i = '$value', ";
}
$i+=1;
}
$sql .= "someItem$i = '$value' WHERE username='$username'"; //add the last item and finish the statement
mysql_query($sql, $con); //execute query once
或采取何种方式是否应该做/我应该费心做这些变化? (有很多的类型,他们都有100 +项目)
在此先感谢。
你的意思是'值得'!造成很大的差异,哈哈;) – 2011-03-07 11:44:18
哈哈..是的,这就是我的意思打字...有一个星期五至星期一晚上:P现在删除:P – Sigtran 2011-03-07 11:47:06
感谢您的贡献。我认为我会重写他们只是为了安全起见,不要让服务器过载。 – Sigtran 2011-03-07 11:49:33