最近の製品テストでは、同時呼び出し数が 10 未満の場合に応答時間が 100 ミリ秒以内に維持できないという問題が見つかりました。ただし、同時リクエスト数が 30 に達すると、応答時間は 1 秒を超えます。これは受け入れられません。要件は 1 秒間に 100 件の同時リクエストを実行することです。 テストの結果、時間は主にストレージ プロセスの 1 つで消費されていることがわかりました。ストアド プロシージャのステートメントを 1 つずつ確認しましたが、明らかな不合理は見つかりませんでした。 MySQL 自体はミリ秒レベルの時間を提供できないため、ミリ秒を提供できる MySQL 時間関数を Google で検索し、テストを行って位置付けを行いました。それは次のような文の 1 つであることがわかりました。 A、B から .... を選択します。ただし、..... であり、A.id が (C から id を選択し、...); in サブクエリ ステートメントでは、ごく少数の結果しか生成されません。この声明を説明することに問題はありません。単一テストでは問題ありません。しかし、同時リクエストの数が多いと問題が発生します。 変更を加えました: A、B から ... を選択します (C から ... を選択します (ただし ...)) S から .... を選択します。 もう一度テストしてみると、パフォーマンスが大幅に向上しました。同時実行数 50 と 10 の応答速度はほぼ同じです。 MySQL では、in の代わりにサブクエリ union を使用するように変更することを提案する場合があります。これまで実験されたことはありません。ようやく効率性が分かりました。もちろん、すべてを信じることはできません。それは依然として、あなた自身のアプリケーションに依存します。いくつかのテストと実験を行うのが最善でしょう。 要約する 以上が、MySQL サブクエリの union と IN の効率性に関するこの記事の内容のすべてです。皆様のお役に立てれば幸いです。 興味のある方は以下を参照してください: いくつかの重要なMySQL変数 MySQL マスターライブラリ binlog (master-log) とスレーブライブラリ relay-log 間のコードの詳細な説明 MySQL データベース開発仕様 [推奨] ご質問がございましたら、メッセージを残していただければ一緒にご相談させていただきます。友人の皆さんも123WORDPRESS.COMのウェブサイトを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: bash スクリプトで ssh/scp コマンドにパスワードを渡す方法の詳細な説明
>>: jsは赤い封筒の順序と量を指定するアルゴリズムを実装します
CSS メディア クエリには非常に便利なアスペクト比、aspect-ratio があり、幅と高さを直...
目次1. 概要1.1 querySelector() と querySelectorAll() の使...
目次概要グローバルフック関数ルーティング固有のフック関数コンポーネント内のフック関数概要ルートガード...
序文プロセス管理の役割:サーバーの健全性状態を判定する: プロセスの状態 (メモリ、CPU 占有率な...
効果コード内の画像は自分で変更できますドロップダウンメニューのHTMLコード <ヘッダークラ...
この記事では、例を使用して、MySQL ストアド プロシージャで複数の値を返す方法について説明します...
序文:年末です。データベースを検査する時期ではないでしょうか?一般的に、検査では、パスワードの複雑さ...
目次1. 2 つの setState を何回呼び出すのですか? 2. 2 つの setState の...
この記事では、参考までにMySQL zipファイルをインストールする具体的な方法を紹介します。具体的...
注意: 計画、設計、開発のいずれの場合でも、これらの間違いは避けなければなりません。 1. ナビゲー...
メモリストレージエンジンに関する知識ポイントメモリ ストレージ エンジンは日常業務ではほとんど使用さ...
先週、先生が私に数字当てゲームをするちょっとした宿題を出しました。とても面白いと思ったので、適当に書...
声明:この記事では、Web ページ制作技術を使用して問題を包括的に解決するという考え方を反映して、W...
導入同時接続数を制限するモジュールは http_limit_conn_module です。アドレス:...
参考までに、JSを使用してランダム点呼システムを実装します。具体的な内容は次のとおりです。毎回の授業...