База данных Firebase Realtime работает медленнее, чем локальный MySQL Server - PullRequest
0 голосов
/ 19 марта 2019
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 Ответ

2 голосов
/ 19 марта 2019

Как минимум: Firebase будет автоматически следить за изменениями server/saving-data/fireblog/users и вызывать ваши методы onChild... при изменении данных.Для этого необходимо, чтобы он поддерживал открытое соединение между сервером и клиентом, чего не будет делать установка MySQL по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...