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サーバーのストレージリソースプール不足問題の解決
この記事ではMySQL 8.0.24バージョンのインストールと設定方法を記録し、皆さんと共有しますM...
ロード バランシングは、サーバー クラスタの展開でよく使用されるデバイスです。マシンのパフォーマンス...
ログポイントベースのレプリケーション1. マスターデータベースとスレーブデータベースに専用のレプリケ...
JavaScriptでの検索二分木実装は参考までに。具体的な内容は以下のとおりです。バイナリ検索木 ...
一部の Web ページは大きく見えなくても開くのに非常に時間がかかる場合があります。一方、他の We...
一部の障害コード テーブルでは、履歴またはパフォーマンス上の理由から、次の設計パターンが使用されます...
1. 従来のLRUリンクリストについて簡単に説明するLRU:最も最近使われなかったものLRU リンク...
目次1. 一般的な高階関数1.1、フィルター1.2、地図1.3、減らすHigher Order fu...
私は新年を迎える前からプロジェクトに取り組んでいましたが、ここ数日で、新しいサーバー用に新しく増設し...
1. ゴミかクラシックか? Web テクノロジーは急速に更新されており、Web サイトのインターフェ...
1. コンテナとは、独立して実行されるアプリケーション、またはアプリケーションのグループとその動作環...
1 問題の説明: 1.1 Windows 10 に VMware を初めてインストールする場合、また...
最近、監視機器の作業をしていたとき、ポートがダウンしているというアラームが常に出ていました。データを...
マイクロソフトIIS (Internet Information Server) は、Microso...
1. 堂々巡りいろいろ試行錯誤した結果、均等割り付けレイアウトを実現する最も簡単な方法は CSS ...