ホームページ > バックエンド開発 > PHPチュートリアル > 親愛なるエビさん、この SQL ステートメントの最適化を手伝ってください。

親愛なるエビさん、この SQL ステートメントの最適化を手伝ってください。

WBOY
リリース: 2016-06-23 14:22:33
オリジナル
974 人が閲覧しました

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`=' はい' "){
$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 "承認成功"

ディスカッションに返信

Put concat('".$value['result']."{hx}' ) (),'{hx}".$value['name']."{hx}".$value['op']."{hx}".$value['suggestion']."')これを実装するために php プログラムを使用する場合は、SQL の concat を使用しないでください。


もう 1 つは、データベースのインデックスを作成することです。これは速度を向上させるのに非常に役立ちます

また、次の文も最適化できますか?

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字段做索引}
ログイン後にコピー

SQL ステートメントを簡略化してくださった baoxiaohua に感謝します

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート