ホームページ  >  記事  >  バックエンド開発  >  アルゴリズムを最適化する方法を教えてください

アルゴリズムを最適化する方法を教えてください

WBOY
WBOYオリジナル
2016-06-13 12:50:34811ブラウズ

アルゴリズムを最適化する方法を教えてください
あくまで第一選択と第二選択です。あと2回やります。その後の2回目のボランティアと基本的には同じです。 100 人の生徒のデータを実行するには約 6 ~ 7 秒かかりました。最適化する方法についてアドバイスをお願いします~~ありがとう


if($_POST['cal'])
{
//-----------------------------------------------第一希望- ------------------------------------------
$sql = "select * from hos;";
$res = mysql_query($sql)or die(mysql_error());
$info = mysql_fetch_array($res) または die(mysql_error()); //echo $info['total'] //病院の総数を取得します
; do{ //ループ 1
// //境界線
if($info['same']==0) //男女の区別がない場合
{
$hos_id = $info['id'] //病院ID番号
; // $hos_id をエコーし​​ます。",";
$hos_total = $info['total'] // 病院で必要な人数の合計
//エコー $hos_total.".";
$sql_total = "select count(*) as total from stu where first='".$hos_id."' and get=0 ;"; // 申請を希望する学生の数を追加します
$res_total = mysql_query($sql_total);
$info_total = mysql_fetch_array($res_total) //申請書に記入した学生の数を取得しました
if($hos_total > $info_total['total'])
{$sql1 = "stu where first='".$hos_id."' and get=0 ORDER BY スコア DESC から ID を選択 ;";}
else {$sql1 = "stu where first='".$hos_id."' and get=0 ORDER BY スコア DESC 制限 $hos_total;";}
$res1 = mysql_query($sql1);
$info1 = mysql_fetch_array($res1);
do //ループ 2
{
$stu_id = $info1['id'];
$sql2 = "UPDATE stu SET result='".$hos_id."',get=1 where id='".$stu_id."' ;";
$res2 = mysql_query($sql2); }while($info1 = mysql_fetch_array($res1)) //ループ 2 の終了
}
// //境界線

else //男性と女性を区別する場合-----$info['same']==1;
{
$hos_id = $info['id'] //病院ID番号
; //少年 SQL
$hos_total_men = $info['men'] //病院が必要とする男児の総数
; $sql_total_men = "select count(*) as total_men from stu where first='".$hos_id."' and sex='f' and get=0 ;"; //応募希望の男子学生の数を追加します。 🎜> $res_total_men = mysql_query($sql_total_men);
$ info_total_men = MySQL_FETCH_ARAY ($ res_total_men) // ボランティアを報告した男子学生の数を取得します
if($hos_total_men > $info_total_men['total_men'])
{$sql1_men = "stu から id を選択します。first='".$hos_id."' and sex='m' and get=0 ORDER BY スコア DESC ;";}
else {$sql1_men = "stu where first='".$hos_id."'and sex='m' and get=0 ORDER BY スコア DESC 制限 $hos_total_men;";}
$res1_men = mysql_query($sql1_men);
$info1_men = mysql_fetch_array($res1_men);
do //ループ 2
{
//ボーイズアップデート
$stu_id_men = $info1_men['id'];
$sql2_men = "UPDATE stu SET result='".$hos_id."',get=1 where id='".$stu_id_men."' ;";
$res2_men = mysql_query($sql2_men); }while($info1_men = mysql_fetch_array($res1_men));
//女の子SQL
$hos_total_wom = $info['wom'] //病院が必要とする女の子の総数
; $sql_total_wom = "select count(*) as total_wom from stu where first='".$hos_id."' and sex='f' and get=0 ;"; //応募希望の男子学生の数を追加します。 🎜>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。