我目前正在研究一個工作問題,需要根據用戶定義的限制來修剪生成的數據和數據。我嘗試了很多東西,但似乎無法獲得任何有效運行所需的東西。我可能不得不在DB之外運行,這樣我可以擴展運行,但是我認爲如果可能的話,我應該嘗試在DB內部執行。因此,舉例來說,如果我有3個實體:如何高效地修剪數據
Transportation Type:
Car
Boat
Plane
Color:
Blue
Green
Red
Purple
White
Accessories:
Trailer
Wheels
Propeller
Parachute
用戶可以進入限制:
Transportation_Type=Boat, Accessories= Wheels
那麼,你有一個場景,有船和車輪會受到限制的任意組合。
Example Valid Scenario with restriction: Boat/Red/Trailer
那麼,這變得複雜的是,你可以想像,如果我建立了3個實體,是不是太糟糕,即便是用戶定義的限制所有可能出現的情況。但是,如果有22個實體(實體基本上是一個具有值的級別)呢?你可以想象這會變得很大,並且很難適用限制。特別是當它是一組限制級別/值(就像船和輪子一樣)。
任何人有任何想法?
通過構建動態類似的語句,我可以通過大約14-16級來獲得它的真正性能,我可以檢查派生場景。但在此之後,處理時間會爆炸(如果關卡中有更多的值,它可以在更低的層次上)。
什麼是數據庫中的表是什麼樣子? – 2012-08-10 00:31:20
嗨戈登。目前這些實體不是分開的。他們存儲在一個相鄰的列表(父子)中,並且限制被定義在集合.... so(組成限制集合的限制的組合) – scarpacci 2012-08-10 03:43:57