Running...
技术成就梦想

有这样一堆数据,基本格式是这样的:

Group 1

Class 1 -     984 Points

Point 1

y:    346.102652 x:    140.217103 scale:    51.539823 orientation:    -0.980912

Descriptor:128 dimensions.

0 2 0 0 3 105 38 2 62 5 1 0 0 22 53 159 159 0 0 0 0 0 3 159 94 0 0 0 0 0 1 80 13 9 5 22 30 61 29 8 147 18 2 1 0 15 102 159 93 0 0 0 0 0 52 159 27 0 0 0 0 0 1 45 21 10 3 9 4 0 0 0 159 35 1 1 0 0 1 50 110 9 0 0 0 0 5 50 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 22 0 0 0 0 0 0 4 12 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

Point 2

y:    346.102652 x:    140.217103 scale:    51.539823 orientation:    -1.855678

Descriptor:128 dimensions.

139 149 16 6 0 0 0 0 149 149 1 0 0 0 0 0 45 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 64 4 2 0 0 23 54 149 144 1 0 0 0 0 43 127 51 6 0 0 0 0 8 0 0 0 0 0 0 0 0 26 5 4 2 8 18 96 72 116 149 66 6 6 3 3 25 25 149 40 0 0 0 0 0 0 6 1 0 0 0 0 0 0 0 0 1 8 18 6 0 0 20 11 3 6 3 0 0 1 26 2 0 0 0 0 0 0 0 0 0 0 0 0 0

......

Point 984

y:    239.457105 x:    417.113207 scale:    0.898385 orientation:    1.633814

Descriptor:128 dimensions.

131 28 0 0 0 0 0 9 131 83 9 12 20 9 2 15 3 9 10 50 131 31 1 3 15 59 27 15 18 3 2 13 125 54 0 0 0 0 0 1 131 100 7 8 13 4 1 8 13 7 5 28 131 62 2 3 18 22 9 7 38 27 6 8 129 23 0 0 0 0 0 8 131 14 0 0 5 4 4 16 30 1 0 0 70 131 25 11 2 0 0 0 20 95 52 6 91 14 0 0 0 0 0 7 131 55 0 0 0 0 3 10 56 24 1 10 17 72 23 11 0 0 0 24 34 79 22 0

Class 2

...

Class 3

...

Class N

这样的Group有几万个,每个Group里有10个左右的Class,每个Class的Points数量是不定的(一般为100~1000)。程序中最常用的操作是提取同一个Group中的所有数据,与外部一组结构相同的数据进行比较。对于这样的需求,如何设计数据库才能获得最好的性能?最简单的设计方法当然是Group,Class,Points分别设计为一个表,三者直接通过外键进行关联,但这样的设计方法将导致Points的记录数达到上千万条,这简直是不可想象的。如果哪位兄弟有类似的项目经验,还请多多指教。

 

posted on 2009-02-24 11:07  saintbird  阅读(1311)  评论(4编辑  收藏  举报