Couchbase执行查询非常慢

问题描述 投票:1回答:1

我们使用Couchbase和CBL已有3年多了,一件事总是很麻烦。当我们执行查询以从键上的表达式读取条目时,Couchbase查询的执行会大大降低我们应用程序的性能。例如我们的CBL中有25000个数据条目,且文档相对较小。读取100个条目需要0.5秒,这对于我们的应用程序是不可接受的。这些文档仅包含很小的JSON文档。从理论上讲,我们可以在数据库启动时一次将所有数据读入对象中,从而只执行一次查询并管理Swift文档(实际上是前一阵子)中的数据,但这不是本地数据库的想法,如果我没有记错的话,这会使CBL几乎毫无用处。关于构建查询或常规Couchbase,我们有什么想念的吗?我们如何更快地读取数据?

我在这里写是希望我们能错过有关Couchbase的知识,因为用SQL执行这些查询似乎要快得多。我提到的执行时间在不同的设备上当然有所不同,但是在我使用的每个设备上,执行时间大约是半秒,对于100个条目,这太慢了]

不同任务消耗的时间(1)花费0.5秒(2)花费0.0001秒运行多个此类查询需要花费很多时间

这里是我们在Swift中使用的代码:

       let ourDocumentKeyPrefix = "SomeKeyPrefix"
       let query = QueryBuilder
            .select(
                SelectResult.all(),
                SelectResult.expression(Meta.id)
            )
            .from(DataSource.database(database!))
            .where(Meta.id.like(Expression.string(\(ourDocumentKeyPrefix)::%"))
        )


        do {
            for result in try query.execute() {  **//(1)** executing Couchbase query

                   **//(2)** my extraction data code here....
            }
        } catch {

        }

我目前正在使用Pod CouchbaseLite-Swift(2.7.0),但我们也遇到了以前版本的问题

我们使用Couchbase和CBL已有3年多了,一件事总是很麻烦。当我们执行查询以通过键从表达式读取条目时,Couchbase查询的执行将减少...

ios swift performance couchbase couchbase-lite
1个回答
0
投票

此处为Couchbase Lite架构师...

© www.soinside.com 2019 - 2024. All rights reserved.