MySQL PREPARE 前処理テクノロジの意義は、サーバへの負担を軽減するテクノロジであることです。 つまり、ほとんどの場合、ある要件に対する特定の SQL 文が繰り返し呼び出されて実行されるか、または個々の値のみが実行されるたびに異なる可能性があります。
1. 前処理MySQL は、前処理と呼ばれるサーバー側の準備済みステートメントのサポートを提供します。 このサポートは、効率的なクライアント/サーバー バイナリ プロトコルを活用します。パラメータ値のプレースホルダーを含む準備済みステートメントを使用すると、次の利点が得られます。
前処理インターフェース 1. アプリケーションでの準備済みステートメント C プログラム用の MySQL C API クライアント ライブラリ、Java プログラム用の MySQL Connector/J、および MySQL などのクライアント プログラミング インターフェイスを通じて、サーバー側の準備済みステートメントを使用できます。 NET テクノロジー プログラム MySQL Connector/NET。たとえば、C API は、準備されたステートメント API を構成する一連の関数呼び出しを提供します。 2. SQL スクリプト内の準備済みステートメント 準備済みステートメント用の代替 SQL インターフェイスもあります。ただし、プログラミングは必要ありません。SQL レベルで直接使用でき、mysql クライアント プログラムなど、SQL ステートメントをサーバーに送信して実行できる任意のプログラムで使用できます。 2. 前処理塗布方法準備されたステートメントの SQL 構文は、次の 3 つの SQL ステートメントに基づいています。
A. 例:準備されたステートメントはセッション間で使用できません。 mysql>テーブル `t1` を作成します ( `id` int NULLではない、 名前varchar(20), キー `idx_id` (`id`) ) エンジン=InnoDB ; mysql> t1(id,name) に値 (1,'A'),(2,'B'),(3,'C'),(4,'D'),(5,'E'),(6,'F'); を挿入します。 #準備されたステートメントを設定します。mysql>PREPARE stmt1 FROM 'SELECT * FROM t1 WHERE a=? '; #転送変数を設定します。mysql>SET @a = 8; #ステートメントの実行mysql>EXECUTE stmt1 USING @a; # 準備されたステートメントを解放します。mysql>DEALLOCATE PREPAR stmt1; B. 実行計画の変更を追跡するための前処理ステータス インジケーター Select_scan (実行された全テーブル検索クエリの数) の変化を観察することで、データ量が影響を受けているかどうかを判断できます。 データ量が変化すると、前処理された SQL ステートメントの実行プランも変化します。 C. ストアドプロシージャには前処理が含まれている準備されたステートメント ストアド ルーチン内で準備されたステートメントを作成した場合、ストアド ルーチンが終了してもそのステートメントは解放されません。 区切り文字 // proc_prepared が存在する場合はプロシージャを削除します。 プロシージャ proc_prepared() を作成する 始める INT を宣言します。 i INT を宣言します。 PREPARE stmt1 FROM 'SELECT * FROM t1 WHERE id>? '; SET @a = 5; @a を使用して stmt1 を実行します。 終わり // 区切り文字 ; proc_prepared() を呼び出す。 ストアド プロシージャの後、準備されたステートメントが個別に呼び出され、結果セットが返されます。これは、前処理によって SET @a = 5 が破棄されなかったことを示します。 @a を使用して stmt1 を実行します。 +----+------+ | ID | 名前 | +----+------+ | 6 | 女 | 。 。 。 ストアドプロシージャの後、準備されたステートメントが個別に呼び出され、結果セットが返されます。これは、前処理が破棄されないことを意味します。 D. プロファイルを通じてステートメントの解析コストを表示するさまざまなステートメントの実行時間をプロファイリングすることで、ステートメントの解析にかかる時間は 0.01 秒以内になります。無視できます。 3. まとめプリコンパイルの初期の役割:
制限と実際の効果:
その限界と実際の効果から判断すると、現在は期待通りに機能していない。音場環境での使用には適していません。 これで、MySQL prepare プリプロセスの具体的な使用法に関するこの記事は終了です。MySQL prepare プリプロセスのより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: フレックスレイアウトではサブアイテムの高さを維持できる
>>: Jenkins統合Dockerプラグインの問題を解決するいくつかの方法
例えば:コードをコピーコードは次のとおりです。 <html> <ヘッド> &...
2008年5月12日に四川省汶川市で発生した地震により、多くの命が失われ、遺憾なことと存じます。国務...
【1】存在するループを使用して外部テーブルを 1 つずつクエリし、各クエリの存在する条件ステートメン...
はじめに:ナビゲーション バーなどのコンポーネント ベースのアイデアを使用して機能モジュールを完全に...
<area> タグは主にイメージマップで使用されます。イメージマップにアクティブ領域 (...
VMware Workstation 14 ProにCentOS 7.0をインストールする具体的な方...
目次概要例なぜそれが必要なのでしょうか?設定参照、反応的計算して見るライフサイクルVue3.0 は ...
MySQL トランザクション分離レベルを表示する mysql> '%isolation...
序文上記の Web ページ スタイルを記述しているときに、スタイルの値をどのように変更しても、ページ...
key_lenの意味MySQL では、次に示すように、explain を使用して SQL ステートメ...
目次1. Linuxシステムの操作レベルの概要2. 実行レベルを確認する3. 現在のシステムの動作レ...
目次序文ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン継承するミ...
1. 追加時間()指定した秒数を日付に追加する select addtime(now(),1); -...
簡単に言えば、MySQL ワーム レプリケーションは、クエリされたデータを指定されたデータ テーブル...
実装のアイデア:まず、アラーム情報にはitemidが必要です。これは前提条件です。情報に渡されるパラ...