サイファーを使用して、ユーザー「mike」によって高く評価されなかった10件の投稿を見つけようとしています。NOT関係を持つwhere句を配置することは、オプションの関係と照合してから、その関係がwhere句でnullであるかどうかを確認するよりも効率的ですか?具体的には、全表スキャンと同等の処理が行われないことを確認し、これがスケーラブルなクエリであることを確認したいと思います。
これが私が使っているものです
START user=node:node_auto_index(uname:"mike"),
posts=node:node_auto_index("postId:*")
WHERE not (user-[:LIKES]->posts)
RETURN posts SKIP 20 LIMIT 10;
または、MATCHオプションの関係でフィルタリングすることはできますか
START user=node:node_auto_index(uname="mike"),
posts=node:node_auto_index("postId:*")
MATCH user-[r?:LIKES]->posts
WHERE r IS NULL
RETURN posts SKIP 100 LIMIT 10;
コンソールでのいくつかの簡単なテストは、2番目のアプローチでより速いパフォーマンスを示しているようです。2番目のクエリの方が速いと思いますか?そして、もしそうなら、なぜですか?