Android Firebase 数据库加载速度更快

Android Firebase Database Loading Faster

我正在为 Android 使用 Firebase 数据库,但遇到了一些速度问题。检索许多自定义对象时需要很长时间(每个对象需要 1/2 - 1 秒)。我正在加载我存储在 FB 中的一堆 Poll 对象。

这是我目前如何为每个民意调查做的一个例子:

pollRef = rootRef.child(getString(R.string.poll_ref)).child(myPollIds.get(polls.size()));

        pollRef.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (isAdded()) {
                    Poll poll = dataSnapshot.getValue(Poll.class);

我现在正在尝试单独加载我需要使用的投票的特定部分。它变得相当复杂。有没有更好的方法可以有效地只从数据库中获取部分对象?

例如,我只想要对象的高亮部分。

提前致谢! :)

Firebase 实时数据库无法让您像您希望的那样cherry-pick 个别属性。从更大的结构中只获取一部分数据的最有效方法是将所有相关位复制到一个完全不同的结构中,然后请求另一个结构。这种复制对于优化的 NoSQL 数据库来说是典型的——数据通常会根据需要多次复制,以针对应用程序中常见的特定查询进行优化。这样做的缺点是,当您更新其中一个复制值时,您需要注意将其复制到它可能存在的所有其他位置。

此数据组织策略的名称为denormalization