ホームページ  >  記事  >  データベース  >  MySQL の前処理テクノロジとは何ですか?前処理技術の使用

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

青灯夜游
青灯夜游転載
2018-11-13 16:06:053500ブラウズ

この記事の内容は、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 までご連絡ください。