数据库表有很多布尔值 - 如何找到类似的行?

时间:2014-10-01 05:40:27

标签: mysql performance comparison

我有一个包含〜1000个布尔列的数据库表,如何通过与给定行的相似性来命令它们?首先,我考虑使用Levenshtein并将所有内容存储为一个字符串,例如

1001111100010101010101...

然后比较其他行:

1010100010101010101000...
0010101011000010101010...
0010101100010101101011...
1111000101101110100010...
...

但我觉得这很贵。因此,我希望将所有值/标志存储在不同的列中:

1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | ...

并将其与其他行进行比较

1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | ...
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | ...
0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | ...
1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | ... 
...

现在我正在寻找一种高效的方式来按行匹配1的顺序排序。

快速的方法是什么?该表可以包含数百个行,因此性能是一个重要问题。

0 个答案:

没有答案