0

多くのテーブルがあるデータベースがあります。このデータベースには、類似した(ただし別個の)データ行の情報を格納するテーブルのサブセットと、各テーブルに適用できる共通の検索属性を含む1つのテーブルがあります。

検索可能な変数は18列ありますが、どちらがインデックスを設定するのに最適な方法かわかりません。Index関連するすべての列に1つ作成しますか、それともIndex各列に1つ作成しますか?

4

1 に答える 1

0

SOLRなどを使用できないため。
MySQL を使用して、これをエミュレートする必要があります。
これを行うには、他のすべてのテーブルを非正規化する 1 つのテーブルを作成します。この表は他の表を置き換えるものではないことに注意してください。VIEWのように考えてください。
簡単な例として。製品を持っていますが、その製品にはいくつかのカラー コードがあります。
正規化には、3 つのテーブルが必要です。製品用に 1 つ、色 (名前|コード) 用に 1 つ、それらすべてをリンクするための 1 つのテーブル。

1 つのテーブルに非正規化します: 製品コード (pk) |名前 | 色コード 1|色名 1| カラーコード 2 | color name 2 ..... いいえ、何にインデックスを付けるかを決めるのは簡単だと思います(実際には、そのテーブルで行うクエリに基づいて)。

明らかに最適ではありませんが、持っているおもちゃで遊ぶ必要があります。

他に考慮すべきことは、非常によく似ており、スター スキーマの使用です。

于 2012-12-14T14:04:29.210 に答える