我有一组数据,格式如下:
id name c1 c2 c3 c4 ... c50
-----------------------------------------------
1 string1 0.1 0.32 0.54 -1.2 ... 2.3
2 string2 0.12 0.12 -0.34 2.45 ... 1.3
...
(millions of records)
我有一个id列、一个字符串列,然后有50个浮点数列。
这些数据只会运行一种类型的查询,在传统的SQL SELECT语句中看起来像这样:
SELECT name FROM table WHERE ((a1-c1)+(a2-c2)+(a3-c3)+...+(a50-c50)) > 1;
这里的 a1,a2,a3,etc
是在查询发送之前生成的值(不存储在数据表中)。
我的问题是:是否有人有任何建议,哪种类型的数据库可以最快地处理这种类型的查询。 我使用过SQL Server
(非常慢),所以我正在寻找其他意见。
是否有一种方法可以优化SQL Server以处理此类查询?我也对列存储数据库(如MonetDB
)和文档存储数据库(如MongoDB
)感到好奇。是否有人有建议?
非常感谢, Brett