1. カーディナリティとは何ですか? このタイプのインデックスが一意である場合、カーディナリティ = 行数になります。 この列が性別で、列挙型に男性と女性のみが含まれる場合、そのカーディナリティは2です。 カーディナリティが高いほど、列をインデックスする価値が高くなります。 MySQL 実行プランでは、カーディナリティに基づいてインデックスも選択されます。 テーブル内の各列のカーディナリティは、次のように確認できます。 次の典型的な例を見てみましょう。 2. InnoDB はいつカーディナリティを更新しますか? 3. ベース数は推定される ベース番号はリアルタイムで更新されません。そしてそれはサンプリングを通じて推定された値です! ベースの式が何であるかについては、それは重要ではないかもしれません。 これはデータ ページをランダムにサンプリングして計算された推定値であることを理解することが重要です。 ランダムにサンプリングされるページの数は、パラメータ innodb_stats_persistent_sample_pages で設定でき、デフォルト値は 20 です。
4. 永続的なカーディナリティ パラメータ innodb_stats_persistent を使用して、カーディナリティが永続化されるかどうかを制御できます。デフォルト設定はオフです。 もちろん、単一のテーブルに対して STATS_PERSISTENT=1 を設定すると、その innodb_stats_persistent は自動的に有効になります。 これを有効にする利点は、MySQL を再起動してもこの値が再計算されないため、再起動プロセスが高速化されることです。 5. ベースをアクティブに更新するにはどうすればいいですか? 次の SQL を実行すると、InnoDB がカーディナリティを更新します (カーディナリティが更新されることに気付いていない場合でも)。 そのため、ビジネスピークの少ない時間帯を選ぶようにしてください テーブルtableNameを分析します。 サンプル数が少なすぎると、計算された基数は非常に間違ったものになります。これにより、MySQL オプティマイザが間違ったインデックスを選択する可能性が高くなります。ここで値を適切に増やすことができます。ただし、あまり大きくしすぎると、ANALYZE TABLE の実行が遅くなる可能性があります。 逆に、ANALYZE TABLE の実行は遅すぎます。パラメータ innodb_stats_persistent_sample_pages の値を適切に調整できます。ただし、これにより基数の計算が不正確になる可能性があります。
参照: 永続統計 テーブルの複雑さを分析する 上記は、MySQL カーディナリティ統計の詳細の簡単な分析です。MySQL カーディナリティ統計の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
>>: Dockerサーバーのストレージリソースプール不足問題の解決
Centos7では、/etc/rc.d/rc.localファイルの権限が削減されており、実行権限があ...
Kubernetes を学習するときは、Kubernetes 環境で練習する必要があります。ただし、...
MySQL ツールを使用して、3 日間連続する例を見てみましょう。 1. SQL テーブルを作成しま...
まず、ハードディスクデバイスにデータディスクがあるかどうかを確認します # まずfdisk -lを実...
登録するフロントエンドは、vue の axios を使用して値を渡し、取得したアカウントとパスワード...
1. ファイアウォールルールを設定する例1: ポート8080を外部に公開する ファイアウォールコマン...
環境: (docker、k8s クラスター)、前回 docker で起動した Java プログラムの...
目次1. 使いやすい2. 関数内でジェネリックを使用する3. クラス内でジェネリックを使用する4. ...
この記事の例では、テーブルを動的に生成したり行を削除したりするためのJavaScriptの具体的なコ...
Linuxファイルを表示する方法ファイルの内容を表示するコマンド: catは最初の行からコンテンツを...
この記事では、MySQL Workbenchのインストールと設定のチュートリアルを参考までに紹介しま...
注: sg11 弊社では Linux システム仮想ホストのセルフインストールのみサポートしております...
目次序文keep-avlive フック関数keep-avliveはどのコンポーネントをキャッシュする...
Vim は強力なフルスクリーン テキスト エディターであり、Linux/UNIX で最も一般的に使用...
背景開発プロセス中に Docker コンテナ化をサポートするために、通常は Maven を使用してコ...