0

私は問題があります。

URLのマスターテーブルが1つあります。UrlId は主キーです。10000 から。この表には、私が見つけたすべての URL アドレスがあります。次に、別のデータベースに 1000 個のテーブルがあります (そのため、外部キーを使用できません)。それらはすべて、urldata.100 から urldata.999 までのように互いに同一です。(ここにメタデータなどを保存します)

たとえば、結合で left 関数を使用して各マスター レコードを結合するとします。

ID 10000 - テーブル urldata.100 に結合 ID 11034 - テーブル urldata.110 に結合

だから私は大規模な結合でマスターテーブルから各 UrlId から最初の 3 つの数字を取り出したい.

これは達成できますか?

4

1 に答える 1

2

これは、スケーラビリティとデータベースのパフォーマンスの両方を制限するため、非常に悪い設計です。

本当に別のメタデータを保存したい場合はUrlIds、1つのテーブルを作成するだけです。UrlMetaそれ、または同様のものと呼んでください。

構造はになります(UrlID, MetaName, MetaValue)(MetaName, MetaValue)この構造では、ペアとして必要な数のメタデータを格納できます。

これを管理すると、1001ではなく2つのテーブルを結合するだけで済むため、クエリは非常に簡単になります。

于 2013-01-30T09:51:37.467 に答える