DSE图 - 如何从Gremlin查询中查看底层的Cassandra查询?
问题描述:
如果我在gremlin-console
中执行gremlin查询,有没有办法看到Cassandra查询DSE Graph生成的?DSE图 - 如何从Gremlin查询中查看底层的Cassandra查询?
答
DSE图提供了一个扩展属性集TinkerPop有关的profile() step的结果 - 这里是输出的一个例子:
gremlin> g.V().has('recipe','name','spaghetti').profile()
==>Traversal Metrics
Step Count Traversers Time (ms) % Dur
=============================================================================================================
DsegGraphStep([~label.=(recipe), name.=(spaghet... 1 1 97.087 81.00
query-optimizer 22.802
\_condition=(((label = recipe) & (true)) & name = spaghetti)
query-setup 1.134
\_isFitted=true
\_isSorted=false
\_isScan=false
index-query 19.838
\_indexType=Secondary
\_usesCache=false
\_statement=SELECT "community_id", "member_id" FROM "junk"."recipe_p" WHERE "name" = ? LIMIT ?; with para
ms (java.lang.String) spaghetti, (java.lang.Integer) 50000
\_options=Options{consistency=Optional[ONE], serialConsistency=Optional.empty, fallbackConsistency=Option
al.empty, pagingState=null, pageSize=-1, user=Optional.empty, waitForSchemaAgreement=true, asyn
c=true}
DsegPropertyLoadStep 1 1 22.772 19.00
>TOTAL - - 119.860 -
当我使用'profile()'时,它只提供查询计划的步骤,但不提供Cassandra查询。在你的例子中,我想它只是提供Cassandra片断,因为查询命中了一个二级索引?如果它不需要二次索引命中,那么它与Cassandra没有任何关系。我说的是真的吗? – Glide
在DSE之后添加CQL的显示为5.0.10和5.1.2我相信 - 在此之前它不可用。也许你需要升级才能拥有这个功能? –
谢谢。我现在看到它。正在使用5.1.1。 – Glide