ホームページ > データベース > mysql チュートリアル > MySQL の前処理テクノロジとは何ですか?前処理技術の使用

MySQL の前処理テクノロジとは何ですか?前処理技術の使用

青灯夜游
リリース: 2018-11-13 16:06:05
転載
3580 人が閲覧しました

この記事の内容は、MySQL 前処理テクノロジとは何かを紹介することです。前処理技術の使用。困っている友人は参考にしていただければ幸いです。

いわゆる前処理テクノロジは、もともとサーバーの負荷を軽減するテクノロジとして MySQL によって提案されました。

従来の mysql 処理プロセス

1、クライアントで SQL ステートメントを準備します

2、SQL ステートメントを MySQL サーバーに送信します

3、実行しますMySQL サーバー上の SQL ステートメント

4、サーバーは実行結果をクライアントに返します

このように、各 SQL ステートメントは 1 回リクエストされ、mysql サーバーはそれを受信して​​処理しますスクリプト ファイルが同じステートメントを要求する場合、何度も繰り返し実行すると MySQL サーバーの負荷が増加するため、サーバーの負荷を軽減するために MySQL の前処理が発生します。

前処理の基本戦略:

SQL ステートメントを強制的に 2 つの部分に分割します:

最初の部分は前と同じコマンドと構造部分です。

2 番目の部分は、それに続く変数データ部分です。

SQL 文を実行するときは、まず同じコマンドと構造部分を MySQL サーバーに送信し、事前に MySQL サーバーに前処理を行わせます。 (この時点では、SQL ステートメントは実際には実行されません。) SQL ステートメントの構造的整合性を確保するために、SQL ステートメントが初めて送信されるとき、SQL ステートメントの変数データ部分はデータ プレースホルダーによって表されます。疑問符のようなものですか?これは一般的なデータ プレースホルダーです。

MySQL の前処理には、パラメータを使用した前処理とパラメータを使用しない前処理の 2 つの形式があります。

1. パラメータを使用しない前処理

まずは表のデータを確認してください!

1. プリペアドステートメントの準備

#」からのステートメント名を準備します。 ##前処理された sqlstatement”;

prepare sql_1 from "select * from pdo";
ログイン後にコピー

2、前処理されたステートメントを実行します

実行

ステートメント名;

execute sql_1;
ログイン後にコピー

3. 前処理を削除します

drop prepare

ステートメント名;

drop prepare sql_1;
ログイン後にコピー

削除後は前処理ができなくなりますステートメント!

2. パラメータを使用した前処理

1. プリペアドステートメントを準備します

prepare

Preprocessed sqlstatement」からのステートメント名;

prepare sql_2 from "select * from pdo where id = ?";
ログイン後にコピー

2. パラメータ変数を定義します

#set @

変数名 =

-- @ これは、MySQL で変数を定義するための文法形式です (php の $ 記号に似ています)

set @id=2;
ログイン後にコピー

3. パラメーター変数を渡すそしてプリペアドステートメントを実行します

execute

Statement name using

Parameter variable;

execute sql_2 using @id;   --选出id=2的信息
ログイン後にコピー
4. 前処理の削除

drop prepare

ステートメント名;

drop prepare sql_2;
ログイン後にコピー

##注: データ プレースホルダーが複数ある場合は、データ プレースホルダーの順序でパラメーターを渡すだけです:

prepare sql_2 from "select * from pdo where id > ? && age > ?";
ログイン後にコピー

set @id=2;
set @age=30;
ログイン後にコピー

execute sql_2 using @id,@age;
ログイン後にコピー

ここでの不明なパラメータはステップ 1 のプレースホルダに対応する必要があることに注意してください。

上記は MySQL の前処理です。スクリプト ファイル内の SQL ステートメントを前処理する効果は明ら​​かではありません。特定のステートメントを繰り返し実行すると、前処理の効率が向上します。

以上がMySQL の前処理テクノロジとは何ですか?前処理技術の使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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