根据属性权重从数据库中提取行的最快方法

时间:2012-12-30 16:40:00

标签: database algorithm

我有一个包含~80列的表,这些列都是二进制值。在我的应用程序中,我能够计算每个属性的权重。我希望能够拉出前n行,其中二进制值*的总和是最高的。

E.g。

SELECT id,CAST(attribute_1 AS int)* weight_1 + CAST(attribute_2 AS int)* weight_2 AS得分 some_filtering_conditions ORDER BY得分DESC LIMIT n

虽然这有效,但它并不像我想的那么快。

目前所有内容都存储在Postgres中,但我会对其他数据库建议持开放态度。现在这个表中大约有8000行,并且它不太可能增长太多,所以把它全部拉到内存中并不是没有理由的,但如果可能的话,我宁愿避免这样做。

0 个答案:

没有答案