Firebase实时数据库比本地MySQL Server慢

时间:2019-03-18 23:35:45

标签: firebase firebase-realtime-database

long startTime = System.currentTimeMillis();
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        final DatabaseReference ref = database.getReference("server/saving-data/fireblog/users");

        ref.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String prevChildKey) {
                User newPost = dataSnapshot.getValue(User.class);
                System.out.println("Username: " + newPost.getUsername());
                long stopTime = System.currentTimeMillis();
                long elapsedTime = stopTime - startTime;
                System.out.println("elapsedTime=" + elapsedTime);
            }

            // ...
        });

至少需要2秒钟才能读取节点的数据。但是使用本地MySQL只需大约200毫秒。它仅在第一次发生,然后他们将以超快的速度读取。为什么?那么使用Firebase实时数据库有什么意义呢?我可以将整个网络应用程序上传到Firebase并使其更快吗?

1 个答案:

答案 0 :(得分:2)

至少:Firebase将自动监视server/saving-data/fireblog/users的更改,并在数据更改时调用onChild...方法。这就要求它在服务器和客户端之间保持开放的连接,而默认的MySQL安装不会这样做。