Heim > Backend-Entwicklung > PHP-Tutorial > 各位大虾,帮我优化一下这个SQL语句

各位大虾,帮我优化一下这个SQL语句

WBOY
Freigeben: 2016-06-23 14:22:33
Original
959 Leute haben es durchsucht

sql 优化 mysql PHP

各位大虾,帮我优化一下这个SQL语句
$sql = " UPDATE `".$table."` SET $field = concat('".$value['result']."{hx}',now(),'{hx}".$value['name']."{hx}".$value['op']."{hx}".$value['suggestion']."') $auditing  WHERE `id`=".$value['id'];
global $conn;
mysql_query($sql,$conn);
if($auditing == ",`check`='yes'"){
$sql = "SELECT `mu_id` FROM `$table` WHERE `id` = $value[id] LIMIT 1";
$sql = mysql_query($sql,$conn);
$mu_id = mysql_fetch_array($sql);
$sql = "UPDATE `member_user` SET `check`='yes',`updatetime`=now() WHERE `id` = $mu_id[0]";
mysql_query($sql,$conn);
}
unset($conn);
return "审批成功";

回复讨论(解决方案)

把concat('".$value['result']."{hx}',now(),'{hx}".$value['name']."{hx}".$value['op']."{hx}".$value['suggestion']."')这个用php程序来实现,不要用sql的concat。

还有就是建立数据库索引了,这个对提高速度非常有帮助

还有吗下面那几句还能优化吗

if($auditing == ",`check`='yes'"){$sql = "SELECT `mu_id` FROM `$table` WHERE `id` = $value[id] LIMIT 1";$sql = mysql_query($sql,$conn);$mu_id = mysql_fetch_array($sql);$sql = "UPDATE `member_user` SET `check`='yes',`updatetime`=now() WHERE `id` = $mu_id[0]";mysql_query($sql,$conn);}可以改成if($auditing == ",`check`='yes'"){$sql = "UPDATE `member_user` SET `check`='yes',`updatetime`=now() WHERE `id` in (SELECT `mu_id` FROM `$table` WHERE `id` = $value[id] LIMIT 1)";mysql_query($sql,$conn);//语句简化了,对有没有提升不好说,不过如果索引要做好,应该会提升的,主要针对member_user.id,mu_id,id字段做索引}
Nach dem Login kopieren

谢谢  baoxiaohua  简化了SQL 语句

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage