2012-12-13 60 views
0

我有一個擁有很多表的數據庫。在這個數據庫中,有一個表的子集存儲類似(但不同)的數據行的信息,一個表包含可應用於每個表的公共搜索屬性。MySQL數據庫中搜索屬性表的索引設置

有18列可搜索變量,我不確定哪個是設置索引的最佳方法。我是否爲所有相關欄目創建單一的Index,或者爲每個欄目創建一個Index

+1

u使用搜索索引引擎,如SOLR,而不是MySQL的 –

+0

@ItayMoav可悲的是,不是一種選擇。不是我的服務器,所以不能做任何像這樣的花式:( – topherg

回答

0

因爲你不能使用SOLR或類似的。
你需要使用MySQL來模擬這個。
要做到這一點,你要創建一個表,它將所有其他表格歸一化。請注意,這張表不會替代其他的。考慮它像一個視圖。
舉個簡單的例子。我有一個產品,該產品可以有多種顏色代碼。
規範化要求我有3個表。一個用於產品,一個用於顏色(名稱|代碼)和一個表格來鏈接它們。

將其非規範化爲一個表:產品代碼(pk)|名稱|顏色代碼1 |顏色名稱1 |顏色代碼2 |顏色名稱2 .....不,我相信你會很容易決定要索引什麼(真正基於你在該表上做的查詢)。

顯然它不是最佳的,但是,你需要玩玩具你有。

別的東西來考慮,這是非常類似,使用星型模式