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プラグインの問題を解決するいくつかの方法
文法:背景画像: 円錐グラデーション(位置の角度から、開始色、...、最後の色)最初のパラメータ:開...
VMwareでcentos8サービスをインストールしてコピーすると、次の問題が発生します。 コピー前...
Cockpit は、CentOS および RHEL システムで使用できる Web ベースのサーバー管...
1. MariaDB と MySQL の紹介1. MariaDB の紹介MariaDB は、MySQ...
この記事の例では、カレンダーウィジェットを実装するためのjsの具体的なコードを参考までに共有していま...
最近、Dreamweaver を使用して製品プレゼンテーションを作成し、画像にハイパーリンクを追加し...
XPath は、XML ドキュメントの一部を選択するための言語です。 XPath は、XSLT、XQ...
1. 背景多くのブログや記事を読みましたが、JVM のメモリ割り当て方法に関する包括的な記事は見つか...
Docker が今日非常に人気がある理由は、主にその軽量性、迅速な展開、およびリソースの利用にありま...
目次1. Promiseとは何か2. 基本的な使い方3. Promiseメソッド3.1 Promis...
WSLとはBaidu 百科事典からの一節を引用します。 Windows Subsystem for ...
MySQL 8.0.12のダウンロードとインストールのチュートリアルは参考までに、具体的な内容は次の...
序文サーバーを展開した後、私は大きな喜びを感じながら自分の Web サイトにアクセスし、見たものすべ...
目次1. NanoIDがUUIDに取って代わる理由2. jsを生成する方法3. ナノID方式序文:ユ...
目次背景効果アイデア背景少し前に、会社のプロジェクトで問題が発生しました。地図のベースマップ領域の範...