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プラグインの問題を解決するいくつかの方法
Linux でファイルを見つけたいのに、その場所がわからないことがよくあります。次のコマンドを使用し...
1. muttをインストールするsudo apt-get install mutt 2. msmtp...
ステップ1: MySQL YUMソースを取得するMySQLの公式サイトにアクセスして、RPMパッケー...
Windows Server 2008R2を忘れた場合の対処方法サーバーの数が多すぎる、サーバーが多...
秘密鍵を開かずにリモート サーバーのデータベースに接続するのは非常に便利です。新しい接続でデータを入...
この記事では、CentOS 7 環境で MySQL 5.6 の複数のインスタンスを作成する方法につい...
この記事では、MySQLのダウンロードとインストールの詳細なチュートリアルを記載しています。具体的な...
JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...
会社のサービスはdockerを使用しており、ディスクマンが見つかりました。その後、次のコマンドを実行...
目次1. JavaScriptはページ内のすべてのHTML要素を変更できる1. IDでHTML要素を...
Linux はオープン システムです。インターネット上には、既成のプログラムやツールが多数存在します...
目次序文1.nullでない2. ユニーク3. デフォルト4.主キー自動増分主キー5. 外部キー6.チ...
端的に言うと、スクロール可能な要素には非常によくある状況があります。通常、スクロールすると、要素が現...
この点呼装置は簡易版であり、自動停止の必要性を考慮していないため、点呼を開始した後、停止ボタンをクリ...
以前の開発では、クラス、名前などの HTML のデフォルト属性を使用していました。 Huawei社の...