MySQL はハッシュ インデックスと Btree インデックスをサポートしています。 InnoDB と MyISAM は Btree インデックスのみをサポートしますが、Memory および Heap ストレージ エンジンはハッシュ インデックスと Btree インデックスの両方をサポートできます。 次のステートメントを使用して、現在のインデックスの使用状況を照会できます。 '%Handler_read%' のようなステータスを表示します。 +-----------------------+-------+ | 変数名 | 値 | +-----------------------+-------+ | ハンドラー_read_first | 0 | | ハンドラー読み取りキー | 0 | | ハンドラー_read_last | 0 | | ハンドラー_read_next | 0 | | ハンドラー_read_prev | 0 | | ハンドラー読み取り回数 | 0 | | ハンドラー_read_rnd_next | 0 | +-----------------------+-------+ インデックスが機能している場合、Handler_read_key の値は高くなります。この値は、インデックス値によって行が読み取られる回数を表します。値が低い場合、テーブル名にインデックスを追加することでのパフォーマンスの向上は高くないため、インデックスはあまり使用されません。 Handler_read_rnd_next の値が高い場合、クエリが非効率的に実行されていることを意味し、状況を改善するためにインデックスを作成する必要があります。この値は、データ ファイルの次の行を読み取る要求の数を意味します。大量のテーブルスキャンが行われている場合、Handler_read_rnd_next は高くなります。これは、インデックスが正しくないか、使用されていないことを示します。 最適化: 挿入ステートメントを最適化します。 1. テスト値()、()、()、() に挿入してみます。 2. 異なる顧客から複数の行を挿入する場合、INSERT 遅延ステートメントを使用すると、速度を上げることができます。遅延とは、INSERT ステートメントがすぐに実行されることを意味します。実際には、データはメモリ キューに配置され、実際にはディスクに書き込まれません。これは、各ステートメントを個別に挿入するよりもはるかに高速です。Low_priority は正反対です。挿入は、他のすべてのユーザーがテーブルの読み取りと書き込みを終了した後に実行されます。 3. インデックスファイルとデータファイルを別のディスクに保存する(テーブル作成ステートメントを使用) 4. バッチ挿入を実行している場合は、bulk_insert_buffer_size 変数値を増やして速度を上げることができますが、これは MyISAM テーブルの場合のみです。 5. テキストファイルからテーブルをロードする場合は、データファイルのロードを使用します。これは通常、挿入を使用するよりも20倍高速です。 group by ステートメントを最適化します。 デフォルトでは、MySQL はすべての group by フィールドをソートします。これは order by に似ています。クエリに group by が含まれているが、ユーザーが並べ替えられた結果の使用を避けたい場合は、order by null を指定して並べ替えを抑制できます。 order by ステートメントを最適化します。 場合によっては、MySQL はインデックスを使用して ORDER BY 句を満たすことができるため、追加のソートが不要になります。 where 条件と order by は同じインデックスを使用し、order by 順序はインデックス順序と同じで、order by フィールドは昇順または降順になります。 ネストされたクエリの最適化: MySQL 4.1 ではサブクエリのサポートが開始されましたが、場合によっては、特に結合するパッシブ テーブルにインデックスがある場合、サブクエリをより効率的な結合に置き換えることができます。その理由は、MySQL では、論理的に 2 つの手順を必要とするこのクエリを完了するために、メモリ内に一時テーブルを作成する必要がないためです。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: docker CMD/ENTRYPOINT が sh スクリプトを実行する問題の解決策: not found/run.sh:
目次1. useStateフック2. useRefフック3. useRef と useState 4...
目次1. 配列の分解2. オブジェクトの分解3. 不完全な解体4. 分割代入を使用して変数交換を実装...
Web ページの制作では、要素の表示と非表示は非常に一般的な要件です。この記事では、要素を表示したり...
序文国家とは何か私たちは皆、React はステート マシンであると言います。それはどのように反映され...
目次1. 概念をすぐに認識する: 2. ローカルフィルター: 3. グローバルフィルター: 4. 拡...
これは、W3C 組織が HTML4 に対して提示したスタイル推奨事項です。残念ながら、ブラウザが独自...
目次1. 操作要素1.1. 要素コンテンツの変更1.2. innerText と innerHtml...
目次ステップ1: フレームワークを構築するステップ2 構築されたPromiseフレームワークに入力す...
目次1. テスト実験2. 制限ページング問題に対するパフォーマンス最適化手法2.1 テーブルをカバー...
適切に機能するテーブル プロパティ設定:コードをコピーコードは次のとおりです。 <テーブル セ...
Dockerの機能1) すぐに始められるユーザーがプログラムを「Docker 化」するには、わずか数...
Ubuntu ではデフォルトで root ログインが許可されていないため、初期の root アカウン...
mysql 1 つのテーブル列を別のテーブルにコピーする場合によっては、フィールドから別の新しいフィ...
目次JavaScript オブジェクト1. 定義2. オブジェクトの分類3. オブジェクトを定義する...
目次WiFiワイヤレステクノロジーの紹介1. WiFiテクノロジーの概要2. ESP8266の紹介W...