アルゴリズムを最適化する方法を教えてください
アルゴリズムを最適化する方法を教えてください
あくまで第一選択と第二選択です。あと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 ;"; //応募希望の男子学生の数を追加します。 🎜>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLでテーブルをコピーするには、新しいテーブルの作成、データの挿入、外部キーの設定、インデックスのコピー、トリガー、ストアドプロシージャ、および機能が必要です。特定の手順には、同じ構造を持つ新しいテーブルの作成が含まれます。元のテーブルからデータを新しいテーブルに挿入します。同じ外部キーの制約を設定します(元のテーブルに1つがある場合)。同じインデックスを作成します。同じトリガーを作成します(元のテーブルに1つがある場合)。同じストアドプロシージャまたは関数を作成します(元のテーブルが使用されている場合)。

Passwordが暗号化された形式で保存されているため、MariadbのNavicatはデータベースパスワードを直接表示できません。データベースのセキュリティを確保するには、パスワードをリセットするには3つの方法があります。NAVICATを介してパスワードをリセットし、複雑なパスワードを設定します。構成ファイルを表示します(推奨されていない、高リスク)。システムコマンドラインツールを使用します(推奨されません。コマンドラインツールに習熟する必要があります)。

次のコマンドでmysqlデータベースを表示します。サーバーに接続します:mysql -u username -pパスワードrun showデータベース。すべての既存のデータベースを取得するコマンド[データベース]を選択します。データベース名を使用します。テーブルを表示:表を表示します。テーブル構造を表示:テーブル名を説明してください。データを表示:[テーブル名]から[ *]を選択します。

MySQLのコピーと貼り付けには、次の手順が含まれています。データを選択し、Ctrl C(Windows)またはCMD C(MAC)でコピーします。ターゲットの場所を右クリックして、貼り付けまたはCTRL V(Windows)またはCMD V(MAC)を使用します。コピーされたデータは、ターゲットの場所に挿入されるか、既存のデータを置き換えます(データが既にターゲットの場所に存在するかどうかに応じて)。

NAVICATでSQLを実行する手順:データベースに接続します。 SQLエディターウィンドウを作成します。 SQLクエリまたはスクリプトを書きます。 [実行]ボタンをクリックして、クエリまたはスクリプトを実行します。結果を表示します(クエリが実行された場合)。
