次のようなデータのコレクションがあります。
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個の浮動小数点列があります。
このデータに対して実行されるクエリのタイプは、従来のSQLSELECTステートメントでは次のようになります。
SELECT name FROM table WHERE ((a1-c1)+(a2-c2)+(a3-c3)+...+(a50-c50)) > 1;
ここでa1,a2,a3,etc
、はクエリが送信される前に生成される値です(データテーブルには格納されません)。
私の質問はこれです:どのタイプのデータベースがこのタイプのクエリを最も速く処理するかについて誰かが何かアドバイスがありますか? 使ったことがSQL server
あるので(おおむね遅い)、他の意見を探しています。
このタイプのクエリ用にSQLサーバーを最適化する方法はありますか?また、などの列ストアデータベースにも興味がありますMonetDB
。または、などのドキュメントストアデータベースMongoDB
。誰か提案はありますか?
どうもありがとう、ブレット