次のコラム golang チュートリアル では、Go SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用法 (ネットワーク パケット キャプチャを使用) の比較を紹介します。困っている友達に役立ちます。
Go SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) に付属のデータベース/SQL ライブラリは、任意のリレーショナル データベースと通信できます。データベースへのリンクを抽象化し、接続プール 実際に予想されているよりも少し多くの API を公開するという根本的な複雑さは、最終的にはこれらの API の使用方法についての想像力につながります。
そこで、以前に公開された主要な API の使用動作を分析してみます。
私は、ホスト マシン (ubuntu) と mysql サーバー上の仮想マシンで実行される Go SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用) アプリケーションを実験しました。
## クエリを試してみました: 項目 (名前、価格、説明) の値 ('brownie',240,'sizzling')
を実行するときは常に db.Query を使用する必要があり、Query によって返された行を決して処理すべきではなく、それらを反復処理する必要があります (そうでない場合は、データベース リンクが漏洩します )Execution
Query(query)プリペアド ステートメントは使用しません (下記の Wireshark キャプチャを参照)
クライアントからのメモサーバーに送信された TCP リクエストは 1 つだけ (ログインは除く)ExecutionQuery(queryTemplate, params)
準備されたステートメント
を舞台裏で使用します3 つの TCP リクエストがクライアントからサーバーに送信されたことに注意してください (ログインを除く) #返された行が反復されると、リンクは自動的に解放されてプールに戻されます。完了後に明示的に rows.Close() を呼び出すことができます。 ", 240, "sizzling")
insert または
updateまたは
deletePrepared Statement を使用しないため、SQL Server への TCP 呼び出しが少なくなりますクライアントからサーバーへの注: 送信された TCP 要求は 1 つだけです(マイナスログイン)リンクを自動的に解放してプールに戻します。使用法 - db.Exec("アイテム (名前、価格、説明) に挿入します。values('brownie' , 240, 'sizzling')")
使用法 -
db.Exec("アイテム (名前、価格、説明) 値 (?,? ,?) に挿入します。 ", "brownie", 240, "sizzling")##Wireshark による Exec(query, params) のキャプチャ
プリペアド ステートメントが必要ない場合は、明示的にステートメントを閉じる必要があります。そうしないと、クライアントとクライアントを解放できなくなります。サーバーにリソースが割り当てられています!
使用法 —上記の点で、準備済みステートメントがいつ呼び出されるのか、またその回避方法が明確になることを願っています。
上記の点で、準備済みステートメントがいつ呼び出されるのか、またその回避方法が明確になることを願っています。
以上がGo SQL での Query、Exec、Prepare の使用の比較 (ネットワーク パケット キャプチャを使用)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。