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プラグインの問題を解決するいくつかの方法
1. カーディナリティとは何ですか?カーディナリティとは、MySQL テーブルの列内の異なる値の数を...
かなり前の記事で、 -webkit-box-reflectプロパティについて説明しました。リフレクシ...
目次序文Axiosのインストールと設定シンプルなGETリクエストを開始するPOSTリクエストを行うシ...
この記事では、3Dカルーセル効果をjsで実装するための具体的なコードを参考までに共有します。具体的な...
目次HTML ページの作成js部分の機能を実装する1. 左ボタンと右ボタン2. 小さな円を動的に生成...
序文:データベースの運用や保守の際には、リンクの総数がいくつあるか、アクティブなリンクがいくつあるか...
1つ。まず、アイデアとしてパッケージ化する必要があります。私はSpringbootフレームワークプロ...
CSS 位置position 属性は、要素の配置タイプを指定します。位置プロパティには 5 つの値が...
現在、クラウドサーバーに nginx をインストールする際、最初に zlib などの依存ライブラリを...
目次1 マウントディレクトリとファイルを作成する2 Redisイメージを取得する3 コンテナを作成し...
Cudaがインストールされているかどうかを確認してくださいアナコンダプロンプトに入力nvcc -V...
準備: 1. VMwareワークステーションソフトウェアをインストールする2. Kali Linux...
背景記事を始める前に、賽博朋克とは何か、賽博朋克2077とは何かを簡単に理解しましょう。サイバーパン...
React は、ユーザー インターフェイスを構築するための JavaScript ライブラリです。F...
1.mysql-5.7.19-winx64.zip(これは無料のインストールバージョンで、約318 ...