Maison > développement back-end > tutoriel php > 各位大虾,帮我优化一下这个SQL语句

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

WBOY
Libérer: 2016-06-23 14:22:33
original
958 Les gens l'ont consulté

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字段做索引}
Copier après la connexion

谢谢  baoxiaohua  简化了SQL 语句

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal