我有一个包含〜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的顺序排序。
快速的方法是什么?该表可以包含数百个行,因此性能是一个重要问题。