私は、arangodb が私たちのユースケースに適しているかどうかを実験しています。同じスキーマを持つドキュメントの大規模なコレクションがあります (SQL テーブルなど)。
いくつかのクエリを試すために、約 90,000 個のドキュメントを挿入しましたが、ドキュメント数は 100 万以上になると予想されるため、これは低い値です。
ここで、これらのドキュメントの単純なページを、フィルタリングせずに降順で並べ替えて取得したいと考えています。
だから私のaqlは:
for a in test_collection
sort a.ARTICLE_INTERNALNR desc
limit 0,10
return {'nr': a.ARTICLE_INTERNALNR}
これを AQL エディターで実行すると、約 7 秒かかりますが、数ミリ秒程度かかると予想されます。
ハッシュ インデックスとスキップリスト インデックスを作成しようとしましたが、効果はありませんでした。
db.test_collection.getIndexes()
[
{
"id" : "test_collection/0",
"type" : "primary",
"unique" : true,
"fields" : [
"_id"
]
},
{
"id" : "test_collection/19812564965",
"type" : "hash",
"unique" : true,
"fields" : [
"ARTICLE_INTERNALNR"
]
},
{
"id" : "test_collection/19826720741",
"type" : "skiplist",
"unique" : false,
"fields" : [
"ARTICLE_INTERNALNR"
]
}
]
では、何か足りないのでしょうか、それとも ArangoDB はこれらのケースには適していませんか?