Maybaygiare.org

Blog Network

データベース内の基数とは何ですか?

データベースには多くの専門用語があり、カーディナリティは経験豊富な人々が昔々知らなかったことを忘れがちな言葉の一つです。 しかし、あなたがそれを知らない場合—そして本当に基数に慣れるのに時間がかかります—DBAがそれを減速せずに文の真ん中に落とすと、それは超混乱 恐れないでください:彼らが言うように、私はあなたを持っています。基数とは、データベース内の2つのことを意味します。 私たちの目的のために、一つは他のものよりもはるかに重要です。 最初に単純なものを行い、次にクエリのパフォーマンスに重要なものを掘り下げてみましょう。クエリのパフォーマンスにとって重要な基数の定義は、データ基数です。 これは、列にいくつの個別の値があるかについてのすべてです。基数の最初の意味は、データベースを設計しているときです—データモデリングと呼ばれるものです。 この意味で、基数は、関係が一対一、多対一、または多対多であるかどうかを意味します。 だから、あなたは本当に関係基数について話しています。Cardinalityの公式、非データベース辞書の定義は数学的です: セット内の値の数。 データベースに適用すると、意味は少し異なります:テーブル内の行数に対するテーブル列内の個別の値の数です。 列内の繰り返し値はカウントされません。しかし、私たちは通常、数としての基数については話しません。 単純に「高」と「低」の基数について話すのがより一般的です。 異なる値の多くは高い基数であり、繰り返される値の多くは低い基数です。電子商取引データベース内の製品説明テーブルを画像化する:ProductIDProductIDCategoryCategoryNameは、このテーブルに目を満たす以上のものがない限り、おそらく高い基数です(異なる製品の色やその他のバリエーションの複数の行など)。基数は、クエリ実行計画に影響を与えるため、パフォーマンスに大きく影響します。 プランナーは、列の統計情報を調べ、それらを使用して、クエリが一致する可能性のある値の数などを把握します。 検出された内容に応じて、異なるクエリ実行計画を使用して最高のパフォーマンスを取得しようとする場合があります。 しかし、それは別のブログ記事のトピックです。explain.So さて、次回誰かが一時停止せずに「高い基数」を文に落としたとき、あなたは彼らが本当に「多くの異なる価値観」を意味することを知っています。”そして、そこにあなたはそれを持っています!

コメントを残す

メールアドレスが公開されることはありません。