我目前正在研究一个工作问题,需要根据用户定义的限制来修剪生成的数据和数据。我尝试了很多东西,但似乎无法获得任何有效运行所需的东西。我可能不得不在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